2012-08-04 26 views
0

我有我的.htaccess设置改写“友好的URL” - 第一个是可以正常使用,并重写,因为它应该,但第二,这是写在完全相同的方式不起作用并导致404我不知道我要去哪里错了。的.htaccess重写时产生404

以下重写正确地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

你需要匹配重新定向的URI的“新”部分:

RewriteRule ^new/(0|[1-9]\d{0,2})$ /episode.php?episode=$1&podcast=new [L,QSA] 
+0

我按照你的建议做了修改,当然这是完全合理的,howe版本我仍然得到一个404。现在我真的不确定我错过了什么。 – Ryan 2012-08-04 12:06:36

+0

得到它现在的工作,所以都好。 – Ryan 2012-08-04 12:21:32