【问题标题】:htaccess redirect for phpBB Forum not workingphpBB论坛的htaccess重定向不起作用
【发布时间】: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.phpviewtopic.php 作为示例,因此在测试时可能会令人困惑。无论如何,为了测试重定向,我有时只是尝试链接到 google.com 或其他任何东西以确保我的正则表达式正常工作。试试:RewriteRule ^/viewforum.php(.*) http://www.google.com [R=301,L] 看看会发生什么
  • 我在 RewriteBase / 之后尝试过,但没有:S

标签: wordpress .htaccess redirect phpbb


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您最好将代码上的代码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]
    

    【讨论】:

    • 但这不会破坏 Wordpress htaccess 设置吗?我需要同时工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多