2013-11-14 117 views
2

我的.htaccess文件的這一部分將/ x或/ x /的請求指向x.php(僅用於下面列出的6個頁面)。然而,請求/鏈接和/聯繫(沒有結尾斜線)顯示404頁面。其他頁面使用或不使用結尾斜線正確重定向。什麼可能導致這兩個實例不能像其他實例一樣工作?.htaccess RewriteRule在某些情況下工作,而不是其他人

RewriteRule ^art/$ art.php [QSA,L] 
RewriteRule ^design/$ design.php [QSA,L] 
RewriteRule ^projects/$ projects.php [QSA,L] 
RewriteRule ^teaching/$ teaching.php [QSA,L] 
RewriteRule ^links/$ links.php [QSA,L] 
RewriteRule ^contact/$ contact.php [QSA,L] 
+0

嘗試'^ contact /?$' – hjpotter92

+0

我之前使用過它,它工作,但它似乎會導致循環。 – shipshape

+0

嘗試添加一個'[R]'標誌以確保重定向正確。並確保這兩個文件在物理上存在。 – Geo

回答

2

我猜想,對於artdesignprojectsteaching,你有相應的目錄。這會導致從/art/art/的重定向,然後您的RewriteRule可以觸發。

我會做最後的斜線可選的

RewriteRule ^art/?$ art.php [QSA,L] 
RewriteRule ^design/?$ design.php [QSA,L] 
RewriteRule ^projects/?$ projects.php [QSA,L] 
RewriteRule ^teaching/?$ teaching.php [QSA,L] 
RewriteRule ^links/?$ links.php [QSA,L] 
RewriteRule ^contact/?$ contact.php [QSA,L] 

那麼規則,引發不帶後綴斜線。

+0

就是這樣。爲什麼我沒有想到這個?我以前使用您發佈的代碼,但它偶爾會導致循環,所以我切換到這個新的代碼。我已經通過創建兩個空文件夾解決了問題。謝謝! – shipshape

相關問題