2013-08-20 169 views
0

我正在掌握.htaccess,但现在我陷入了需要多个重定向的情况。多个.htaccess规则?

  • 网站/ werknemers/5
  • 网站/ lijst/5

这些联系应该工作,从

  • 重定向的index.php?页= werknemers & klant = 5
  • index.php?page = lijst & lijst = 5

我正在使用以下.htaccess,它正在工作! 但只有一个人的,我把在文档的顶部

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/(.*)$ index.php?page=$1&klant=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/(.*)$ index.php?page=$1&lijst=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?page=$1 [L] 
+0

Web服务器不能这样工作。 –

+0

好的..你能解释我做错了什么吗?你的评论不是非常有建设性的:) – Notflip

+0

你的匹配模式**完全一样**。服务器应该如何区分它们? –

回答

0

因为你的模式是完全一样的,存在第一和第二条规则没有区别,所以第一个总是匹配,你总是会得到klant查询字符串不管是什么。您可以对页面名称进行硬编码,如果这是唯一不同的东西:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^werknemers/(.*)$ index.php?page=werknemers&klant=$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^lijst/(.*)$ index.php?page=lijst&lijst=$1 [L] 
+0

完美!它正在工作!谢谢 – Notflip