用于代字号的重写规则

时间:2011-08-25 16:00:33

标签: .htaccess mod-rewrite tilde

我正在尝试对tilde URL进行以下重写:

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

我希望与whatever.com/~folder/something的所有链接都成为whatever.com/something

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

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

如您所述,它可能与使用mod_userdir相关联。如果现在已激活,请检查您的apache配置,看看是否禁用它可以解决问题。

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

答案 2 :(得分:0)

我使用此规则重定向以tilde

开头的所有内容
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