重定向对根目录的访问

时间:2015-05-04 11:27:19

标签: .htaccess redirect

我想将访问权限重定向到mysite.com/mydir/,到mysite.com/mydir/index.html

mydir中有一个.htaccess配置文件,但它没有按预期工作:

RewriteCond %{REQUEST_URI} ^/
Rewriterule ^(.*)$ index.html [L,R=301]

现在,当我访问mysite.com/mydir/时,我被重定向到:

mysite.com/mydir/C:/wamp/www/mysite/index.html

如果改用:

Rewriterule ^(.*)$ /index.html [L,R=301]

我被重定向到

mysite.com/index.html

唯一有效的方法是:

Rewriterule ^$ /mydir/index.html [L,R=301]

但我不想硬编码mydir,因为这个.htaccess可能会在另一个目录中使用。这可以通过模块化方式解决吗?

3 个答案:

答案 0 :(得分:0)

我还没有能够测试这个,因为我没有在本地安装apache,但问题是如果你尝试的话,你不会将该组添加到网址的开头。

Rewriterule ^(.*)$ $1/index.html [L,R=301]

然后它应该会在你的网址开头就是前面的字符,即在mid.html之前的mydir /

答案 1 :(得分:0)

试试这个

RewriteCond %{REQUEST_URI} /$ 
Rewriterule (.*) http://%{HTTP_HOST}%{REQUEST_URI}index.html [L,R=301]

答案 2 :(得分:0)

您可以尝试使用以下(.htaccess中存储的mydir文件):

RewriteEngine on
RewriteBase /mydir/

RewriteCond %{REQUEST_URI} ^/mydir/$ [NC]
RewriteRule ^ index.html [R=301,L]