2016-08-17 117 views
2

我寫一個編號,並建立其具有如下內容的htaccess文件:的.htaccess重寫規則衝突

RewriteEngine on 

RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?id=$1 [NC,L] # Handle page requests 
RewriteRule ^category/([A-Za-z0-9-]+)/?$ category.php?cat=$1 [NC,L] # Handle category requests 
RewriteRule ^author/([A-Za-z0-9-]+)/?$ author.php?auth=$1 [NC,L] # Handle author requests 

的第一條規則工作正常,但後者似乎有與第一條規則衝突。每當我訪問http://example.com/category/foobarhttp://example.com/author/fooauthor/的URL時,我總是會收到一條消息,指出找不到頁面,因爲它仍在嘗試打開索引文件。

有沒有可能解決這個問題?

回答

2

您可以在最後一行設置一般規則:

RewriteEngine on 

RewriteRule ^category/([A-Za-z0-9-]+)/?$ category.php?cat=$1 [NC,L]  
RewriteRule ^author/([A-Za-z0-9-]+)/?$ author.php?auth=$1 [NC,L] 
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?id=$1 [NC,L] 

此問題的發生,因爲一線支持的所有URL

+0

啊,這是有道理的。像魅力一樣工作,謝謝兄弟。 – crozland23

+1

不客氣,您的投票可以幫助他人看到正確的答案 –

+0

不能upvote因爲我的聲譽。在系統允許的情況下,將在10分鐘內接受您的答案。 – crozland23