1

我正在尝试使用 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 语句的文档

4

1 回答 1

0

我需要在我的 RewriteRule 行中添加标志,这样服务器就不会进一步评估。将它们更改为

RewriteRule ^/blog http://url.to.blog [L]

成功了,问题是它一直在评估,因为我没有尝试去索引最后一个要评估的有效规则是一般重写规则。

于 2014-04-21T14:11:06.860 回答