【问题标题】:RewriteRule for tilde波浪号的重写规则
【发布时间】:2011-11-03 20:16:56
【问题描述】:

我正在尝试对波浪号 URL 进行以下重写:

RewriteRule ^/?~folder/(.*) http://whatever.com/$1 [R=302,L]

我希望任何与whatever.com/~folder/something 的链接都变为whatever.com/something

如果我的情况排除了波浪号(也尝试转义它,\~),上述重写规则似乎有效,但波浪号不执行重写。

是否需要调整更广泛的配置设置以在我的情况下启用重写?我通常理解~folder 指的是用户的主目录,但我不知道它是如何发挥作用或可以根据我的情况进行调整的。

【问题讨论】:

    标签: .htaccess mod-rewrite tilde


    【解决方案1】:

    我能够在 webroot (public_html) 使用 .htaccess 规则修复对 http://domain.ext/~blog/file.html 的任何点击:

    RewriteRule ^~blog/(.*)$ /site/legacy/users/blog/$1 [R=301,L]
    

    发件人:http://webmaster.iu.edu/tools-and-guides/maintenance/redirect-htaccess.phtml

    【讨论】:

      【解决方案2】:

      正如您提到的,它可能与使用mod_userdir有关。请检查您的 apache 配置是否已激活,并查看禁用它是否可以解决问题。

      http://httpd.apache.org/docs/2.2/mod/mod_userdir.html

      【讨论】:

        【解决方案3】:

        我使用这个规则来重定向所有以波浪号开头的东西

        RewriteCond %{REQUEST_URI} ^/~([a-z]+)/
        RewriteRule ^(.*)$ http://www.mysite.fr/$1 [R=301,L]
        

        来自@Sigg3.net 来源:http://webmaster.iu.edu/tools-and-guides/maintenance/redirect-htaccess.phtml

        【讨论】:

          猜你喜欢
          • 2016-05-16
          • 2012-06-22
          • 2019-07-07
          • 2011-03-03
          • 2019-04-09
          • 2012-10-10
          • 1970-01-01
          • 2020-05-08
          • 1970-01-01
          相关资源
          最近更新 更多