两个相似的友好网址 - 如何区分

时间:2012-06-14 21:12:19

标签: php mod-rewrite friendly-url

我正面临两个类似友好网址的问题。我在htaccess中提到了以下几行。

RewriteRule ^user/([a-zA-Z0-9-]+) /sitename/profile.php?id_profile=$1 [QSA,L]
RewriteRule ^user/([a-zA-Z0-9-]+)/articles /sitename/articles.php?id_profile=$1 [QSA,N]

当我尝试访问第二个网址时,它会重定向回第一个网址。我想第一部分'用户'导致了这个问题。

这里id_profile是一个字符串。在php文件中,我为id_profile获取相应的用户ID(整数)并执行其余操作。

这是一个类似的工作示例。 https://www.etsy.com/people/vinubhai https://www.etsy.com/people/vinubhai/favorites

我想让它像etsy一样工作。请帮忙。

谢谢和问候, Vineshkumar Kunhiraman

2 个答案:

答案 0 :(得分:2)

您可以添加$来锚定字符串的结尾,也可以切换顺序

RewriteRule ^user/([a-zA-Z0-9-]+)$

这与文章网址不匹配

切换订单会导致文章首先匹配,而个人资料网址将与文章重写规则不匹配

答案 1 :(得分:0)

首先处理第一个规则。改变你的规则的顺序,你的问题应该得到解决。

首先重写文章,然后用户一般重写。