我想将访问权限重定向到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可能会在另一个目录中使用。这可以通过模块化方式解决吗?
答案 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]