所以我一直在摆弄.htaccess,我能够删除一个子目录并拥有非www子方向。请在下面找到代码:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*) http://domain.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(.*)subdir
RewriteRule ^(.*)$ subdir/$1 [L]
这可以重定向:
www.domain.com/subdir/file
或
www.domain.com/file
到
domain.com/file
但是,它无法重定向
domain.com/subdir/file
到
domain.com/file
这是我对此代码的唯一问题。有人可以告诉我,我做错了什么?任何帮助深表感谢。 :)
答案 0 :(得分:1)
您可以在条件中使用OR
条件:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{THE_REQUEST} /subdir/ [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^(?:subdir/)?(.*)$ http://%1/$1 [NC,R=302,L]