我将.htaccess设置为重写'友好网址' - 第一个正常工作并按原样重写,但第二个,以完全相同的方式编写不起作用并产生404.I我不确定我哪里出错了。
以下内容正确地重写为mysite.com/1:
# Setup conditions for internal rewrite of DYHAMB
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite for DYHAMB
RewriteRule ^(0|[1-9]\d{0,2})$ /episode.php?episode=$1&podcast=DYHAMB [L,QSA]
# External redirect for DYHAMB
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+episode\.php\?episode=(\d+)\&podcast\=DYHAMB [NC]
RewriteRule ^ /%1? [R=301,L]
但是这应该重写为mysite.com/new/1但实际上会返回404:
# Setup conditions for internal rewrite of new
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite for new
RewriteRule ^(0|[1-9]\d{0,2})$ /episode.php?episode=$1&podcast=new [L,QSA]
# External redirect for new
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+episode\.php\?episode=(\d+)\&podcast\=new [NC]
RewriteRule ^ /new/%1? [R=301,L]
答案 0 :(得分:0)
您需要匹配重定向URI的“新”部分:
RewriteRule ^new/(0|[1-9]\d{0,2})$ /episode.php?episode=$1&podcast=new [L,QSA]