【问题标题】:How to redirect invalid URL in .htaccess?如何重定向 .htaccess 中的无效 URL?
【发布时间】:2013-11-19 10:58:09
【问题描述】:

/(directory/?param=value)无法更改此网址

directory/?param=value

directory/value

这不行:

RewriteCond   %{REQUEST_URI} ^/directory/.*

RewriteRule   ^/directory/\?param=(.*)    /directory/$1 [L]

我的问题是如何替换 ?param= ???

【问题讨论】:

    标签: apache .htaccess symfony-1.4


    【解决方案1】:

    这些规则应该适合你:

    RewriteEngine On
    
    RewriteCond %{THE_REQUEST} \s/+(directory)/\?param=([^\s&]+) [NC]
    RewriteRule ^ %1/%2? [R=302,L]
    
    RewriteRule ^(directory)/([^/]+)/?$ /$1/?param=$2 [L,QSA,NC]
    

    【讨论】:

      【解决方案2】:

      您无法匹配RewriteRule 中的查询字符串(? 之后的所有内容),请尝试:

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^/?directory/(.+)$ /directory/?param=$1 [L]
      

      这需要:directory/value 并在内部对其进行重写以提供 directory/?param=value 处的内容。

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-18
        • 1970-01-01
        • 2011-03-23
        相关资源
        最近更新 更多