Drupal 7 开发内部培训资料, 分头诗人

呼唤熟悉Apache重定向规则的高手帮忙

赞成!
0
否决!

Boost模块的实现静态页面德尔跳转规则似乎是:

  # GZIP
  RewriteCond %{HTTP:Accept-encoding} !gzip   //如果没开启Gzip的压缩
  RewriteRule .* - [S=3]  //跳过下面的3条规则吧
  RewriteCond D:/webapp/htdocs/nnusa/cache/%{ENV:boostpath}/nnusa.cn%{REQUEST_URI}_%{QUERY_STRING}\.html -s
  RewriteRule .* cache/%{ENV:boostpath}/nnusa.cn%{REQUEST_URI}_%{QUERY_STRING}\.html [L,T=text/html,E=no-gzip:1]

 

为了测试,我想为首页单独加一条规则,这条规则只针对首页的请求生效,如果是首页的话就定向到D::/webapp/htdocs/nnusa/cache/_.html

请问这条规则应该怎么写?谢谢!

6 个回答

赞成!
0
否决!

能否直接php完成这个操作? 在首页设置一个 php的调整。

< ?php 
//重定向浏览器 
header("Location: http://www.drupalla.com"); 
//确保重定向后,后续代码不会被执行 
exit;
?>  
赞成!
0
否决!

谢谢!不过您的回答不上我所想要的!我要写在.htaccess里。

规则应该是RewriteCond 、 RewriteRule的组合。

赞成!
0
否决!

头大!首页无法调_.html文件

赞成!
0
否决!

已解决。在htaccess里,首页的%{REQUEST_URI}_%值居然是“/index.php”,而不是$_server["REQUEST_URI"]的值“/”。它俩的值一个是Apache提供的,一个是PHP提供的,按理应该相同呀!可能是Apache的Windows服务器的版本问题吧。

接下来在.htaccess里加一条规则就OK了。

赞成!
0
否决!
# 把index.php 直接跳转到某个folder
Redirect /index.php http://example.com/newdirectory/
赞成!
0
否决!

已解决!这个是Boost和localization模块之间不协调的地方,应该算是Boost的一个小bug吧,顺便把.htacess研究了一遍