我和我的htaccess文件发生了噩梦...我有一个停放的域名,我想将所有内容重定向到public_html内的子文件夹 所以我使用了这段代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?parked\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/foo/
RewriteRule ^(.*)$ /foo/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
它的工作完美现在它重定向www.parked.com
=它显示&gt; public_html/foo
内容但在 public_html 文件夹中我还有一个名为的文件夹管理员和内部文件夹 foo 我还有一个名为admin
问题在于,每当我尝试访问 www.parked.com/admin
时,它都会显示 public_html/admin
文件夹而不是 public_html/admin
我想要它做的是将 www.parked.com 完全重定向到public_html/foo
并忽略 public_html
中的文件
答案 0 :(得分:0)
为什么你把条件放到规则的最后?这应该有效:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?parked\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/foo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /foo/$1 [L,NC]
</IfModule>