1

我面临两个类似的友好网址的问题。我在 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]

当我尝试访问第二个 url 时,它会重定向回第一个 url。我猜第一部分“用户”是导致这个问题的原因。

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

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

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

谢谢和问候, Vineshkumar Kunhiraman

4

2 回答 2

2

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

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

这与文章网址不匹配

切换顺序会导致文章优先匹配,而profile url将不匹配文章重写规则

于 2012-06-14T21:18:42.757 回答
0

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

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

于 2012-06-14T21:19:54.903 回答