0

On my site i have saved some of the users searches but if they enter a string with special characters then my mod_rewrite rule gives a 400 Bad Request.

How can i fix it?

RewriteRule ^search/([^/\.]*)/?$ /index.php?page=search&string=$1 [NC,L]

for example, If a saved search is:

/search/%spong%US%/

Thanks

4

1 回答 1

1

您的问题是 RewriteRule 在服务器解码后正在查看 URL。你有两个选择:

1) 在重写条件中从 %{THE_REQUEST} 中捕获搜索字符串,该字符串仍将采用编码形式。

2) 使用 [B] 标志来转义替换中的反向引用。

于 2013-08-31T16:40:29.333 回答