【问题标题】:Allow space in .htaccess url redirect在 .htaccess url 重定向中允许空间
【发布时间】:2014-05-28 10:21:59
【问题描述】:

我已经使用 .htaccess 将带有特殊字符的 url 重定向到 400 错误页面,这工作正常。

我是这样重定向的。

RewriteCond %{QUERY_STRING} [^\w+=&/.()-] [OR]
RewriteCond %{REQUEST_URI} [^\w+=&/.()-]
RewriteRule .? /site/error/400/? [L,B,R]

我也想在查询中允许空格,我正在尝试这种方式但它不起作用。

RewriteCond %{QUERY_STRING} [^\w\s+=&/.()-] [OR]
RewriteCond %{QUERY_STRING} [^\w+=&/.()-\s] [OR]
RewriteCond %{QUERY_STRING} [^\w+=&/.()\s-] [OR]
RewriteCond %{QUERY_STRING} [^\w\d\s+=&/.()-] [OR]

请查看并提出任何可行的方法。

谢谢。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite redirect


    【解决方案1】:

    你可以使用%20作为空格:

    RewriteCond %{QUERY_STRING} [^\w=+&/.%20()-] [OR]
    RewriteCond %{REQUEST_URI} [^\w+=&/.()-]
    RewriteRule ^ /site/error/400/? [L,B,R]
    

    【讨论】:

    【解决方案2】:

    试试这个

    RewriteCond %{QUERY_STRING} [^\w\s+=&/.() -]
    

    【讨论】:

    • 如果你将空格字符放在另一个地方,例如在开头:RewriteCond %{QUERY_STRING} [^ \w+=&/.()-]
    猜你喜欢
    • 2013-09-23
    • 2021-04-04
    • 2014-04-06
    • 2012-09-22
    • 2015-09-01
    • 2023-04-08
    • 2011-03-23
    • 1970-01-01
    相关资源
    最近更新 更多