0

我在尝试为我的 phpBB 论坛实现重定向时遇到问题。基本上,论坛曾经在根目录下,现在它位于 /foro/ 文件夹中。

我已经为我的 Wordpress 博客制定了一些可以完美运行的规则:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

问题是,如果用户曾经去:

http://www.coliseoweb.com/viewtopic.php?f=10&t=3567

我希望他们现在去:

http://www.coliseoweb.com/foro/viewtopic.php?f=10&t=3567

保持所有相同的变量。我试过添加这个:

RewriteRule ^/viewforum.php(.*) /foro/viewforum.php$1 [R=301,L]

还有这个:

RedirectMatch 301 ^/viewtopic.php(.*)$ http://www.coliseoweb.com/foro/viewtopic.php$1

但我没有运气。

也许它们是正确的,但我将它们添加到错误的位置?也许我需要别的东西?

帮助会很棒!

谢谢!

哈维尔

4

2 回答 2

1

啊对不起!您的正则表达式不需要前导斜杠。尝试:

RewriteRule ^viewforum.php(.*) /foro/viewforum.php$1 [R=301,L]
于 2013-06-06T12:37:06.963 回答
-1

您最好将代码RewriteRule . /index.php [L]上的代码替换为RewriteRule ^viewforum.php([^/]*) /foro/viewforum.php$1 [R=301,L]

现在,如果你需要同时工作......那么你可以试试这个:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^viewforum.php([^/]*) /foro/viewforum.php$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
于 2013-06-06T13:00:50.477 回答