我正面临两个类似友好网址的问题。我在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
答案 0 :(得分:2)
您可以添加$
来锚定字符串的结尾,也可以切换顺序
RewriteRule ^user/([a-zA-Z0-9-]+)$
这与文章网址不匹配
切换订单会导致文章首先匹配,而个人资料网址将与文章重写规则不匹配
答案 1 :(得分:0)
首先处理第一个规则。改变你的规则的顺序,你的问题应该得到解决。
首先重写文章,然后用户一般重写。