htaccess相同的重写规则,不同的页面不起作用

时间:2014-03-03 06:09:45

标签: apache .htaccess

我的网站有两个不同的页面,我需要重写这两个页面的网址。我已经尝试过这个代码,但是没有工作,只有一个是工作另一个不工作。

在我的htaccess中

第一条规则:

RewriteRule ^([a-zA-Z0-9-/]+)$ view.php?link=$1  

第二条规则:

RewriteRule ^([a-zA-Z0-9-/]+)$ list.php?name=$1 

只有第一个工作,任何人都可以告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

您需要能够区分这两种类型的网址。鉴于此:

http://example.com/foo

是否转到/view.php?link=foo?还是会转到/list.php?name=foo

您可以通过以下方式为URL的动态部分添加前缀,例如:

http://example.com/view/foo
http://example.com/list/foo

所以规则看起来像:

RewriteRule ^view/([a-zA-Z0-9-/]+)$ view.php?link=$1  
RewriteRule ^list/([a-zA-Z0-9-/]+)$ list.php?name=$1