我正在尝试使用mod_rewrite将网站的博客部分指向博客网站。
这是我必须处理的正常事情
RewriteRule ^(\w+)/?$ index.php?page=$1
这就是我正在尝试用于博客网站
RewriteRule ^blog/?$ http://url.to.my.blogger.site
但它不起作用,当我去网站/博客它指示我index.php?page = blog如果第一次是正确的话,我需要做些什么来不做第二次重写?喜欢if / else?抱歉,对mod_rewrite了解不多,所以任何建议都会很棒。
我也注意到,如果我尝试做类似site / home之类的东西一切正常但是如果我试图点击site / home /它会把我所有的url放到错误的上下文中,例如我的css和图像不会正确加载。
我的完整档案是
RewriteEngine on
RewriteRule ^blog/?$ remote/blog/uri/here
RewriteRule ^(\w+)/?$ index.php?page=$1
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php - [F]
当我点击网站/博客时,它仍然试图提供index.php?page = blog,我猜我必须在某些时候突破代码?我找不到if / else语句
的文档答案 0 :(得分:0)
我需要在RewriteRule行中添加标记,以便服务器不会进一步评估。将它们改为
RewriteRule ^/blog http://url.to.blog [L]
做了诀窍,问题是它一直在评估,因为我没有尝试去索引最后一个有效的评估规则是一般的重写规则。