我正在尝试对tilde URL进行以下重写:
RewriteRule ^/?~folder/(.*) http://whatever.com/$1 [R=302,L]
我希望与whatever.com/~folder/something
的所有链接都成为whatever.com/something
。
如果我的情况排除了波形符(也尝试转义它,\~
),似乎上述重写规则有效,但是使用代字号不会执行重写。
是否有更广泛的配置设置我需要调整以在我的情况下启用重写?我理解正常~folder
指的是用户的主目录,但我不知道它是如何发挥作用的,或者可以根据我的情况进行调整。
答案 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配置,看看是否禁用它可以解决问题。
答案 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