.htaccess仅将流量重定向到index.php

时间:2018-03-24 18:59:05

标签: .htaccess

我需要将访问domain.com/index.php的所有流量重定向到domain.com/forum/index.php

示例

  

原始请求:
domain.com/index.php?topic=11841.0

     

重定向:
domain.com/forum/index.php?topic=11841.0

另外

  

原始请求:
domain.com/index.php/board,200.0.html

     

重定向:
domain.com/forum/index.php/board,200.0.html

但是只有带有查询字符串的index.php流量必须重定向。不得重定向到domain.com的所有其他流量,并且不应重定向没有查询字符串的index.php流量。

我们刚刚将一个位于域根目录的论坛移动到了一个子文件夹。域的根现在有一个Wordpress安装,但我们希望所有旧的论坛讨论链接被重定向到它的新子文件夹。

TIA

1 个答案:

答案 0 :(得分:0)

要将/index.php/*重定向到/fourm/index.php/*,您可以在/root/.htaccess中使用以下规则:

RewriteEngine on

RewriteRule ^index.php/(.*)$ /fourm/index.php/$1 [L,R]

这会将包括query stringpath info在内的所有请求从/index.php重定向到/fourm/index.php。如果要仅在存在查询字符串时重定向URL,请使用以下规则:

RewriteEngine on

# if query string is present
RewriteCond %{QUERY_STRING} .+
# redirect "/index.php" to "/forum/index.php
RewriteRule ^index.php$ /forum/index.php [L,R]

上述规则会将/index.php?queryString重定向到/fourm/index.php?queryString