2012-08-04 85 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