使用mod_rewrite进行漂亮的URL冲突

时间:2013-02-17 12:53:56

标签: .htaccess mod-rewrite

我有2页的会员资料页面和公司资料页面, 对于成员,网址应为:site.com/users/USER_ID 对于公司,网址应为:site.com/COMPANY_ID

我在.htaccess

中有这个
#Members Profile Page
RewriteRule ^users/(.*)$ modules/members/members_profile.php?id=$1
RewriteRule ^users/(.*)/$ modules/members/members_profile.php?id=$1

#Companies Profile Page
RewriteRule ^(.*)$ modules/companies/companies_profile.php?id=$1
RewriteRule ^(.*)/$ modules/companies/companies_profile.php?id=$1

但是,这两条规则存在冲突,导致用户页面也被引导至companies_profile.php,因为公司规则还包含地址中的用户个人资料页面。

我怎么解决这个问题?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用L rewrite flag;

RewriteRule ^users/(.*)$ modules/members/members_profile.php?id=$1 [L]
RewriteRule ^users/(.*)/$ modules/members/members_profile.php?id=$1 [L]

一旦找到匹配项,将停止处理该文件。