【发布时间】:2014-01-04 07:46:18
【问题描述】:
我有一个类似的问题,并且得到了回答。但是,答案引出了另一个概念,现在我有以下问题。 (用户“anubhava”能够回答原始问题。)
让我解释一下,我们的情况是这样的:
我们正在使用 Joomla 启动一个新网站,但是,我们希望旧网站的所有入站链接继续运行(因为我们在旧网站上有很多 WordPress 内容)。因此,使用 htaccess,我们能够将所有对主域名的请求重定向到包含新 Joomla 网站的子目录。 [例如,由于 htaccess 代码,对 www.example.com 的请求被重定向到 www.example.com/PORTALsite,这正是我们想要的。]
此外,此代码还允许对旧 WordPress 网站主页的请求仍然有效(我们正在替换的旧网站)。 [例如,www.example.com/index.php 仍将正常运行并加载旧的 WordPress 站点,这正是我们想要的。]
仅当请求仅针对域名 (www.example.com) 时,才会重定向到新 Joomla 网站的主页(位于 www.example.com/PORTALsite/),但如果请求是针对旧网站的主页(位于 www.example.com/index.php)将允许这样做并加载旧的 WordPress 网站。
这是 htaccess 代码:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[\s?]
RewriteRule ^$ /PORTALsite [R=301,L]
但是,我现在的问题是这样的:有很多入站链接,其中旧 WordPress 网站的 index.php 页面被省略,只附加了一个查询字符串(在旧网站通过 WordPress)。但是,因为上面的代码将其视为仅对主域名的调用(因为它“忽略”了查询字符串),所以它还将它重定向到新的 Joomla 网站。 我们不希望发生这种情况!请帮忙?
现在的问题示例:
(不是问题)对主域名的请求被成功重定向 到新的 Jooma 网站,因此 www.example.com 将重定向到 www.example.com/PORTALsite,如我们所愿。
(不是问题)www.example.com/index.php 成功加载旧版 WordPress 网站的主页,但正如我们所愿和应有的那样。
-
但问题是这样的:没有文件名但包含 查询字符串,例如 www.example.com/?page_id=56 也正在获取 重定向到新的 Joomla 网站(例如,www.example.com/PORTALsite/?page_id=56),我们确实不希望发生这种情况。
我们希望 www.example.com/?page_id=56 重定向到 www.example.com/index.php?page_id=56 并从 旧的 WordPress 网站。 如何根据上面的 htaccess 代码实现这一点?
提前感谢您的帮助!
【问题讨论】:
标签: php wordpress .htaccess redirect joomla