繁体   English   中英

Apache2-mod_rewrite和.htacess-当我添加其他规则时无法使用404规则

[英]Apache2 - mod_rewrite and .htacess - Not working 404 rule when i add other rules

这是我当前的.htaccess文件:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]+\s([^\s]+)\.php\s 
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)\.html$ $1.php 

ErrorDocument 404 /page-404.html 

像这样,当我打开以.php结尾的地址时,它会自动重定向到相同的地址,但是像我想要的那样以.html结尾。

当我删除这些行时:

RewriteEngine On

ErrorDocument 404 /page-404.html 

而且我尝试打开不存在的目录,我将404错误重定向到我想要的页面。 当我添加我发布的第一个代码中显示的其他行时,问题就来了。

问题出在哪里?为什么在我的第一个示例中404错误重定向不起作用?

提前致谢!

有这样的规则:

ErrorDocument 404 /page-404.html
RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]+\s([^\s]+)\.php\s [NC]
RewriteRule .* %1.html [R=301,L]

# make sure .php file exists for the requested .html file
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)\.html$ $1.php [L,NC]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM