2017-01-02 20 views
1

我試圖找出爲什麼這個規則匹配的一切,以及如何在只匹配author.php?USER_NAME = USER_NAME我重寫規則是匹配的一切

RewriteRule ^author/([A-Za-z0-9-]+)/?$ author.php?user_name=$1 [NC,L] 

我作品爲作者的網頁(例如使:/ author/joe),但是如果我轉到about頁面,例如,我會得到 /author/about。

按照要求我加入我的.htaccess文件的完整內容:

RewriteEngine On 
RewriteRule ^author/([A-Za-z0-9-]+)/?$ author.php?user_name=$1 [NC,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
+0

也請發表您的其他規則。這個規則不會導致問題(因爲它不會重寫任何* to *'/ author /',它會重寫* from *)。另外你的關於頁面的URL是什麼?也許你有規則重寫只是'/ authorname'?請將它們全部發布到您的設置中。 – SuperDuperApps

+0

@ user2493235我編輯了我的問題以包含所有規則。 –

+0

謝謝Rob。你的關於網頁的網址是什麼? – SuperDuperApps

回答

3

這是不完全清楚你想要做什麼。也許在你的HTML中,你應該鏈接到​​,以斜槓開始,所以URL不會相對於當前頁面創建,而是創建到網站的根目錄?

順便說一句,你可以表達你的規則在略短的方式:

RewriteRule ^author/([\w-]+)/?$ author.php?user_name=$1 [NC,L] 
+0

好主意,如果他點擊'/ author /'頁面上的鏈接,這是一種可能性。 – SuperDuperApps

相關問題