2016-08-16 75 views
3

我想允許在URL(1-9,包括AZ,az, - ,_,%)如何通過htaccess在URL中允許1-9 a-z A-Z - _%?

我有下面的代碼htaccess的

RewriteRule ^shop/search/([a-zA-Z0-9_-]+)/?$ shop.php?search=$1 [QSA,NC] 

問題:當空間URL 示例傳遞

domain.com/shop/search/my%20keyword 

它不工作

基本上我想通過htaccess的 允許在URL %怎麼做?

回答

1

...這是對(%-decoded)請求的URL路徑匹配...

source,重點煤礦。

mod_rewrite 從來沒有看到%,它將%20解碼到一個空間。如果您想在URL中接受%20,請爲角色類添加空格。

+0

我認爲這可能是這樣的,很好的主要來源。 – chris85

0

基本上我想通過htaccess允許%的URL如何做到這一點?

您可以使用此重寫規則負字符類:

RewriteRule ^shop/search/([^/]+)/?$ shop.php?search=$1 [QSA,NC,L] 

[^/]+將匹配1或更多,是不是/因此它將匹配空格或其他任何解碼性格也任意字符,你想要匹配。

相關問題