2013-08-01 30 views
0

我想寫一個正則表達式接受用戶名與下劃線。Htaccess的正則表達式不接受下劃線

我可以得到它沒有下劃線工作,但是當我添加下劃線它給出了一個網站錯誤500

這裏是我的正則表達式我使用:

RewriteRule ^Activation/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L] 

當我加入_它會錯誤500的頁面

RewriteRule ^Activation/([A-Za-z0-9-_]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L] 
+0

我的猜測是,它認爲'-'作爲一個特殊字符。嘗試轉義它('\ -')。 – Sumurai8

回答

2

添加下劃線前的衝刺:

RewriteRule ^Activation/([A-Za-z0-9_-]+)/([A-Za-z0-9-]+)/?$ activationcodes.php?u=$1&a=$2 [L] 

否則它認爲你的意思是「0到9到_」,這是錯誤的。

你也無法逃脫它(這也將使其更具可讀性):

RewriteRule ^Activation/([A-Za-z0-9\-_]+)/([A-Za-z0-9\-]+)/?$ activationcodes.php?u=$1&a=$2 [L] 
+0

謝謝@門把手 – Robert