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


Two similar friendly urls - how to differentiate

我遇到了两个类似的友好网址的问题。我在 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/vinubhaihttps://www.etsy.com/people/vinubhai/favorites

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

感谢和问候,维恩什库马尔·昆希拉曼

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

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

这与文章网址不匹配

切换顺序会导致文章首先匹配,而配置文件 URL 将不匹配文章重写规则

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

首先重写文章,然后用户常规重写。