2012-08-13 51 views
2

我已经意识到,雅虎搜索没有正确处理URL中的空格。404与网址中的空格

当用户点击转到包含空格的我的网站页面时,yahoo会用'+'符号替换它们。

我的服务器不能正确处理'+'而不是'',并生成404错误。

那么如何用''替换'+',使用.htaccess?

+1

为什么网页有空格?我的印象是,这是不好的形式,原因很多,包括你提到的那个...... – Matt 2012-08-13 14:09:12

+0

当然,这很糟糕。但我无法改变它们。有什么建议么? – 2012-08-13 14:12:53

+0

*你的服务器如何编码空格?通常我认为他们被编码为'%20',但是如果你的服务器以不同的方式进行编码,这可能就是雅虎替换空间的原因(它不能识别它们)。 – Matt 2012-08-13 14:15:38

回答

1

+符号可用于URL空间编码。这已成为标准的一部分,Apache 2绝对知道如何将+解码为空间。什么可能发生的事情是+是越来越编码本身%2B,你可以使用这个改变他们的空间:在URL

RewriteEngine On 
RewriteRule ^(.*)\+(.*)$ /$1\ $2 [L] 
+0

你能举一个例子说明你会如何适应这样的事情: RewriteRule^client /([a-z0-9] +)$ index.php?client = $ 1 [L] – alanj 2015-09-17 16:19:37