2011-10-24 368 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

仅在页面上的区别... –