.htaccess重定向效果不佳

时间:2015-10-27 12:34:33

标签: .htaccess redirect

我想将主域“example.com”重定向到带有.htaccess的子目录“sub”。我有.htaccess文件包含这个内容:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteCond %{REQUEST_URI} !^/sub/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /sub/$1 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ sub/index.php [L]

如果我在网络浏览器的地址栏中输入example.com或www.example.com,但是如果我输入example.com/index.php或www.example.com/index.php,则无效它将转到主文件夹,而不是子文件夹子。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

这很好用:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?example\.org$ [NC]
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule ^(.*)$ /sub/$1 [L]

此外,您可以使用this for testing your htaccess

答案 1 :(得分:-1)

为什么不在index.php文件中设置重定向?您的.htaccess文件没有条件。因为你是直接点击页面。

根据我的评论,将其放入index.php页面:

header("Location: http://example.com/sub/index.php");
die();