因此,我试图在我的网站上创建一个搜索,我需要编码一些文本,所以它是URL友好。但是,如果使用"<“符号搜索任何内容,则会得到HTTP错误403 (访问被禁止),因为"<”未被编码。
这是我正在使用的代码:
var search = $("#txtHomeSearch").val();
if(search != ""){
var urlSearch = encodeURIComponent(search);
window.location.href = "/search&s=" + urlSearch;
}工作url的示例:http://website.com/search&s=helloword
一个坏的url的例子:http://website.com/search&s=<
可能问题在于我的.htaccess文件包含:
RewriteEngine on
RewriteRule ^([^.*]+)$ index.php?page=$1 [L]
ErrorDocument 404 /errorPages/404.php发布于 2013-08-18 01:35:05
这里有一个简单的实用程序:http://www.the-art-of-web.com/javascript/escape,用于验证各种Javascript转义函数的操作。根据ECMA标准,并使用该工具进行验证,"<“应该由encodeURIComponent()函数正确地转义。
它是否是造成问题的"<“以外的一个字符?对于encodeURIComponent错过的角色,有各种各样的补救措施。一个是这里和其他地方列出的url_encode函数:javascript window.location do I need to escape?
发布于 2013-08-18 03:00:41
尝试使用[B]标志转义回退引用。
RewriteEngine on
RewriteRule ^([^.*]+)$ index.php?page=$1 [B,L]
ErrorDocument 404 /errorPages/404.phphttps://stackoverflow.com/questions/18294762
复制相似问题