【问题标题】:whats wrong with this redirect rule?这个重定向规则有什么问题?
【发布时间】:2010-12-09 14:27:30
【问题描述】:
RewriteCond %{REQUEST_URI} !^/?cgi-bin/nph-proxy.cgi/000100A/http/ 重写规则 (.*) /cgi-bin/nph-proxy.cgi/000100A/http/$0

我正在尝试重定向

www.myproxysite.com/somedomain.com/somedir/specialchar

www.myproxiste.com/cgi-bin/nph-proxy.cgi/000100A/http/somedomain.com/somedir/specialchar

反而会继续

www.myproxiste.com/000100A/http/somedomain.com/somedir/specialchar

这当然行不通。

编辑:我发现当 somedomain.com 301 REDIRECTS 时,会出现这种现象。

【问题讨论】:

    标签: apache mod-rewrite


    【解决方案1】:

    试试这个

    RewriteCond %{HTTP_HOST} ^(www.)?myproxysite.com$ [NC]
    RewriteRule ^(?!/cgi-bin/nph-proxy.cgi/000100A/http)(.*)$ http://www.myproxysite.com/cgi-bin/nph-proxy.cgi/000100A/http/$1 [L,R=301]
    

    其实我并不真正了解 REQUEST_URI 的用法,因为我还没有真正阅读过 mod 重写规则。但根据我所知道的,我认为以上应该达到你想要的。

    更新:也许您应该尝试在代码中使用 $1 而不是 $0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多