Проблема 404 в двух htaccess в корневом домене и подпапке

avatar
jimhuang
11 октября 2018 в 12:12
613
1
3
My root domain htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
ErrorDocument 404 /404.php
RewriteCond %{`HTTP_HOST`} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ `https://%1/$1` [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) `https://%{HTTP_HOST}%{REQUEST_URI}` [R=301,L]

In my subfolder htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} `^(www\.example\.com)?$`
RewriteRule ^(.*)$ `https://example.com/subfolder/$1` [R=301,L]

Если я наберу example.com/any-wrong-url, он перенаправит на страницу 404, это правильно.

Но когда я набираю example.com/subfoler/any-wrong-url, он не может перенаправить на страницу 404. Где я что-то не так?

Источник

Ответы (1)

avatar
Abhishek
7 декабря 2018 в 18:38
2

Лучший способ сделать это без конфликтов или перенаправления:

Используйте /subfolder/ вместо корня / в RewriteBase следующим образом:

RewriteBase /subfolder/

Скопируйте 404.php внутрь subfolder.

Полный код будет выглядеть так:

RewriteEngine On
RewriteBase /subfolder/
ErrorDocument 404 /404.php
RewriteCond %{HTTP_HOST} `^(www\.example\.com)?$`
RewriteRule ^(.*)$ `https://example.com/subfolder/$1` [R=301,L]

Это должно сработать.