2016-04-03 21 views
0

這是我的URL規則:htaccess的沒有工作的罰款與一些系統字符

RewriteRule ^([a-zA-Z0-9_=-]+)/([a-zA-Z0-9_=-]+)/?$ controller/$1/$1.php?id=$2 [L] 

工作的罰款:http://yii.abc.com/category/Grand-Opening 但沒有工作:http://yii.abc.com/category/I'm-sorry

http://yii.abc.com/category/Wedding-&-ROM 

任何人都可以幫助嗎?

回答

0

這是因爲您的角色分類中沒有包含字符'&

你可以通過像這樣包含它來修復它。

正則表達式:^([a-zA-Z0-9_=-]+)\/(['&a-zA-Z0-9_=-]+)\/?$

Regex101 Demo

+0

我已經改變到你的正則表達式, 現在可以正常工作:'http:// yii.abc.com/category/I'm-sorry' 但是在'http://yii.abc.com/類別/婚禮 - & - ROM' 我回聲$ _GET ['id']得到'婚禮''只有,不能得到完整的字符串 –

+0

'^([a-zA-Z0-9 _ = - ] +)/([a -zA-Z0-9 _ = - ] +)/?$'這是你的正則表達式。我的是不同的先生。 – 2016-04-03 04:45:43

+0

'http://yii.abc.com/category/Wedding-&-ROM'I echo $ _GET ['id'] get'Wedding-only',can not full string –

1

試試這個規則:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w=-]+)/([^/]+)/?$ controller/$1/$1.php?id=$2 [L,QSA,B] 

使用B標誌是這裏的關鍵是能夠通過整個Wedding-&-ROMGET參數。

+1

這是B :) +1的真正mazic – starkeen

相關問題