【发布时间】:2013-06-06 12:35:14
【问题描述】:
我在尝试为我的 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
但我没有运气。
也许它们是正确的,但我将它们添加到错误的位置?也许我需要别的东西?
帮助会很棒!
谢谢!
哈维尔
【问题讨论】:
-
正则表达式看起来正确。你是把它放在默认的 Wordpress 正则表达式之前还是之后,因为 WP 可能会提前选择它
-
两种情况我都试过了,基本上都试过了:"RewriteBase/",应该放在哪里?
-
我已经上传了这个htacces:RewriteEngine On RewriteRule ^/viewtopic.php(.*) /foro/viewtopic.php$1 [R=301,L] RewriteRule ^/viewforum.php(.*) /foro/viewforum.php$1 [R=301,L] RewriteRule ^/ucp.php(.*) /foro/ucp.php$1 [R=301,L] RewriteRule ^/memberlist.php(.*) /foro /memberlist.php$1 [R=301,L] RewriteRule ^/faq.php(.*) /foro/faq.php$1 [R=301,L] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME } !-d 重写规则。 /index.php [L] 到这里:coliseoweb.com/viewtopic.php?f=10&t=3567 它不重定向:S
-
没错,我觉得应该在
RewriteBase /之后。首先,请注意您已同时使用/viewforum.php和viewtopic.php作为示例,因此在测试时可能会令人困惑。无论如何,为了测试重定向,我有时只是尝试链接到 google.com 或其他任何东西以确保我的正则表达式正常工作。试试:RewriteRule ^/viewforum.php(.*) http://www.google.com [R=301,L]看看会发生什么 -
我在 RewriteBase / 之后尝试过,但没有:S
标签: wordpress .htaccess redirect phpbb