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 回答
在不创建任何冲突或重定向的情况下执行此操作的最佳方法是:
在RewriteBase上使用
/subfolder/
而不是root/
,如下所示:复制
subfolder
内的404.php
.完整的代码如下所示:
这应该工作 .