2012-01-30 55 views
-1
Options +FollowSymLinks 
Options +Indexes 
RewriteEngine on 
RewriteBase/
RewriteRule ^haveg/employer/([0-9]+)/(.*) haveg/employer.php?msg_id=$1 

當我使用重定向使用mod_rewrite

http://localhost/haveg/employer/7003/the-message-title 
or 
http://localhost/haveg/employer/7003/ 

的問題是在這裏http://localhost/haveg/employer/7003因爲我刪除末尾的斜槓它工作正常。它給頁面找不到錯誤。

回答

2

重寫規則^ haveg /僱主/([0-9] +)/?(。*)haveg/employer.php?MSG_ID = $ 1

我想添加一個問號,應該允許它相匹配。

+0

謝謝它的作品:) – shaikh 2012-01-30 16:03:56

+0

所以我可以得到一個漂亮的綠色複選標記? :) – Gus 2012-01-30 16:07:42

+0

這將重寫URL http:// localhost/haveg/employer/7003message到'http://localhost/employer.php?msg_id = message'。不是很乾淨 – Borodin 2012-01-30 16:14:30

0

試着改變你的最後一行

RewriteRule ^haveg/employer/([0-9]+)([^0-9]*) haveg/employer.php?msg_id=$1 

這應該接受這兩種情況。

0

我建議你再添加一個RewriteRule以使你的意圖清晰。在此代碼中,第一條規則處理以數字後跟可選斜槓結尾的URL(當msg_id查詢字段爲空時),第二條規則適用於數字後面有消息的情況。

RewriteRule ^haveg/employer/([0-9]+)/?$ haveg/employer.php?msg_id= 
RewriteRule ^haveg/employer/([0-9]+)/([^/]+)$ haveg/employer.php?msg_id=$1 [L]