.htaccess有2个rewriterule

时间:2011-10-24 14:48:49

标签: php .htaccess mod-rewrite

我有2个差异字符串:

的index.php abrir = $ 1和;?ID = $ 16 的index.php abrir = $ 1和;这份绿皮书= $ 16

id =和livro =所以我正在尝试使用它:

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

但只有第一部作品......我怎么解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:2)

abrir = ..和livro = ..的重写规则中的匹配模式是相同的。使用匹配当前请求的.htaccess文件中的第一个重写规则。因此,如果您有两个相同的重写规则,那么.htaccess文件中首先出现的重写规则将起作用。