Php Mod rewrite重定向到404
当前.htaccessPhp Mod rewrite重定向到404,php,.htaccess,mod-rewrite,http-status-code-404,Php,.htaccess,Mod Rewrite,Http Status Code 404,当前.htaccess RewriteEngine on RewriteRule category-([0-9]+)-(.*)-([0-9]+)\.html$ category.php?cid=$1&name=$2&page=$3.php [L] RewriteRule search-(.*)-([0-9]+)\.html$ search.php?term=$1&page=$2.php [L] RewriteRule all-covers-([0-9]+)\.html$
RewriteEngine on
RewriteRule category-([0-9]+)-(.*)-([0-9]+)\.html$ category.php?cid=$1&name=$2&page=$3.php [L]
RewriteRule search-(.*)-([0-9]+)\.html$ search.php?term=$1&page=$2.php [L]
RewriteRule all-covers-([0-9]+)\.html$ all-covers.php?page=$1.php [L]
RewriteRule featured-covers-([0-9]+)\.html$ featured-covers.php?page=$1.php [L]
RewriteRule top-downloaded-([0-9]+)\.html$ top-downloaded.php?page=$1.php [L]
RewriteRule c-([0-9]+)-(.*)\.html$ cover.php?id=$1&name=$2.php [L]
RewriteRule ^sitemap.xml$ sitemap.php [L]
RewriteRule ^(.*)\.html$ $1.php [L]
ErrorDocument 404 /404.html
我想从如下页面重定向到404:
[http://example.com/http://example.com/c-42.html]
请提供帮助您需要做的第一件事是将限定符添加到您的正则表达式模式中:
RewriteRule ^category-([0-9]+)-(.*)-([0-9]+)\.html$ category.php?cid=$1&name=$2&page=$3.php [L]
RewriteRule ^search-(.*)-([0-9]+)\.html$ search.php?term=$1&page=$2.php [L]
RewriteRule ^all-covers-([0-9]+)\.html$ all-covers.php?page=$1.php [L]
RewriteRule ^featured-covers-([0-9]+)\.html$ featured-covers.php?page=$1.php [L]
RewriteRule ^top-downloaded-([0-9]+)\.html$ top-downloaded.php?page=$1.php [L]
RewriteRule ^c-([0-9]+)-(.*)\.html$ cover.php?id=$1&name=$2.php [L]
这意味着,例如,
^c-([0-9]+)-(.*)\.html$
将匹配http://example.com/c-42.html
但不再匹配http://example.com/http://example.com/c-42.html
。后者将自动成为404。我不明白?要重定向的URL;它是example.com/c-42.html
(根据您已有的重写规则,还是您发布的:http://example.com/http://example.com/c-42.html
?