首页 文章

在根域和子域中的两个htaccess中发生404问题

提问于
浏览
0
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 回答

  • 0

    在不创建任何冲突或重定向的情况下执行此操作的最佳方法是:

    在RewriteBase上使用 /subfolder/ 而不是root / ,如下所示:

    RewriteBase /subfolder/
    

    复制 subfolder 内的 404.php .

    完整的代码如下所示:

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

    这应该工作 .

相关问题