2013-02-17 73 views
0

我有2頁會員個人資料頁面和公司的個人資料頁, 爲成員的URL應該是:site.com/users/USER_ID 爲公司的網址應爲:site.com/COMPANY_ID使用mod_rewrite爲漂亮的URL衝突

我有這我.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因爲對公司的規則還包含在該地址的用戶的個人資料頁。

我該如何解決這個問題?

感謝所有幫助

+0

爲防萬一我們錯過了一些東西,請你可以在你的問題中發佈你的整個'.htaccess'文件嗎? – 2013-02-17 18:39:58

+0

這些ID是數字?如果他們不是,如何防止「.../COMPANY_ID」的正則表達式匹配所有內容? – 2013-02-18 04:05:27

+0

@faa這就是問題:-) – behz4d 2013-02-20 15:20:23

回答

1

可以使用L rewrite flag;

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

一旦找到匹配就會停止處理文件。

+0

很奇怪,不適合我的情況! – behz4d 2013-02-17 13:07:27

+0

什麼都出現在你的腦海裏,爲什麼它不起作用?謝謝 – behz4d 2013-02-17 13:12:16

+0

@ behz4d您是否在用戶規則或公司規則或全部標誌上放置了標誌? – 2013-02-17 13:42:45