我正在尝试将index.php文件重定向到root /,我搜索了一下,发现了几段代码类似于:
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L]
然而,这不适用于子域名,例如:
有没有人知道如何调整上面的htaccess以便它会考虑子域并将它们重定向到适当的位置?
e.g。如果用户访问http://subdomain.domain.com/index.php,他们将转到http://subdomain.domain.com/
奖励积分:
是否有可以将此规则应用于所有文件夹的htaccess?
因此对于任何带有index.php的文件夹,它们只会被重定向到它的根目录,例如http://subdomain.domain.com/folder1/folder2/index.php会自动转到http://subdomain.domain.com/folder1/folder2/
答案 0 :(得分:74)
这样做:
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
答案 1 :(得分:11)
RewriteRule ^(.*)index\.(php|html?)$ /$1 [R=301,NC,L]
它将以 index.php , index.htm 或 index.html 结尾的URI重定向到 / 。也适用于子目录。
另外,请注意NC
标志。它使它不区分大小写。所以即使URI是大写的,例如 INDEX.PHP ,它也能正常工作。
答案 2 :(得分:-3)
可以使用这个
RewriteRule ^index\.php/(.*)$ http://www.example.com/$1 [R=301,L]