2011-10-24 299 views
0

我有2個差異字符串:??的.htaccess 2重寫規則

的index.php abrir = $ 1 & ID = $ 2 的index.php abrir = $ 1 &這份綠皮書= $ 2

ID =和這份綠皮書=所以我試圖用這個:

RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?abrir=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ index.php?abrir=$1&id=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ index.php?abrir=$1&id=$2&pagina=$3 

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ index.php?abrir=$1&livro=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ index.php?abrir=$1&livro=$2&pagina=$3 

但只有第一個工作......我該如何解決這個問題?謝謝!

回答

2

abrir = ..和livro = ..的重寫規則中的匹配模式是相同的。使用與當前請求匹配的.htaccess文件中的第一個重寫規則。所以如果你有兩個相同的重寫規則,那麼只有你的.htaccess文件中第一個出現的規則纔會起作用。

+0

你可以幫助解決這個問題嗎?我是.htaccess中的新手.. –

+0

id和livro的值有什麼區別?你應該有一些方法來確定它是一個id值還是livro值。如果它是數字和字符串之類的東西,那麼可以在.htaccess文件中修復它,否則創建一個重寫規則並確定代碼中的差異可能更容易。 –

+0

僅在頁面上的區別... –