我有一个类似的问题,并得到了回答。然而,答案引出了另一个概念,现在我有了以下问题。(用户"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网站。我们不希望这发生!有什么帮助吗?
问题的例子,现在是
提前感谢您的帮助!
发布于 2013-12-17 10:05:54
RewriteEngine on
# Match requests for /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[\s?]
# Don't match requests for page_id=n
RewriteCond %{QUERY_STRING} !page_id=[0-9]+
# Redirect to /PORTALsite
RewriteRule ^$ /PORTALsite [R=301,L]https://stackoverflow.com/questions/20619053
复制相似问题