1

我正在尝试删除www.名为dir的单个目录(例如)。我需要能够从该.htaccess目录中的文件执行此操作。(我没有 root 访问权限。)知道如何使它工作吗?

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com/dir$ [NC]
RewriteRule ^(.*)$ http://example.com/dir$1 [R=301,L]

更新——解决方案:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/dir/$1 [R=301,L]
4

1 回答 1

2

HTTP_HOST 将不包含正在访问的路径,您需要在重写规则本身中匹配该路径:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^dir\/(.*)$ http://example.com/dir/$1 [R=301,L]
于 2011-07-10T16:32:53.913 回答