我的网站中有两个不同的页面,我需要重写这两个页面的网址。我已经尝试过这段代码,但不起作用,只有一个起作用,另一个不起作用。
在我的 htaccess 中
第一条规则:
RewriteRule ^([a-zA-Z0-9-/]+)$ view.php?link=$1
第二条规则:
RewriteRule ^([a-zA-Z0-9-/]+)$ list.php?name=$1
只有第一个有效,谁能告诉我如何解决这个问题。
最佳答案
您需要能够区分这两种类型的 URL。鉴于此:
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
关于apache - htaccess 不同页面的相同重写规则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139822/