我想将主域“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,则无效它将转到主文件夹,而不是子文件夹子。
我做错了什么?
答案 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();