index.php重定向的正则表达式(但有点复杂!)

时间:2010-11-12 15:20:29

标签: php .htaccess

您好,感谢您对此的看法。我有一个问题,我需要重定向: www.thisdomain.com/index.php 至: www.thisdomain.com /

但是...

由于我有两个index.php文件,这很复杂。一个在这里: www.thisdomain.com/index.php 一个在这里: www.thisdomain.com/a_forum/a_forum_submission/index.php

因此,我将使用的正常301重定向是:

RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.thisdomain.co.uk/$1 [R=301,L]

问题在于,这将重定向较低级别的index.php,直接返回到不需要的路径。

所以,我想要实现的是将www.thisdomain.com/index.php重定向到根目录,但没有将www.thisdomain.com/a_forum/a_forum_submission/index.php重定向到根目录。

如果你可以帮助我,我真的很感激。我已经尝试过我所知道的一切,但我的正则表达知识让我失望。

再次感谢,

d

5 个答案:

答案 0 :(得分:0)

取出通配符匹配表达式(.*)

RewriteCond %{THE_REQUEST} ^index\.php
RewriteRule ^index\.php$ http://www.thisdomain.co.uk/$1 [R=301,L]

应该做你想要的。有了这个,您甚至可能不需要RewriteCond

答案 1 :(得分:0)

我想解决的更简单的方法是在www.thisdomain.com/a_forum/a_forum_submission/中创建.htaccess文件,覆盖重写或停用重写模块。

答案 2 :(得分:0)

简单地说:

RewriteRule ^index\.php http://www.thisdomain.co.uk/ [R=301,L]

不需要重写条件。

度过愉快的一天。

答案 3 :(得分:0)

尝试

 Redirect 301 /index.php http://www.thisdomain.com

答案 4 :(得分:0)

RewriteRule ^index\.php(.*) http://www.thisdomain.co.uk/$1 [R=301,L]