apache的 rewrite规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache的 rewrite规则相关的知识,希望对你有一定的参考价值。

原始地址:http://abc.com/viewthread.php?tid=4890 已经不能访问的地址

修改地址:http://abc.com/thread-4890-1-1.html 已经到了这个地址了

当然4890 是可变值,哪位大侠知道的回复我

我是Apache Web Server(虚拟主机用户)
我需要的是重定向的规则

因为百度google的收录地址都是已经不能访问的地址(就是原始的地址),所以每天损失非常多的用户,请大侠帮忙
此条非常重要。

参考技术A 你可以参考下DZ论坛附带的帮助文档。点users_guide.htm,然后点高级应用。

另外根据情况,你也可以在根目录创建一个viewthread.php文件,然后get到ID后转向到别的页面。
参考技术B RewriteEngine On.
RewriteRule ^/thread-(.*?)-1-1\.html$ /viewthread.php?tid=$1 [PT] .
参考技术C RewriteEngine On
RewriteRule ^/thread-(.*?)-1-1\.html$ /viewthread.php?tid=$1 [PT]

修改apache的rewrite规则,测试时竟然绕住了。

修改apache的rewrite规则,根据条件访问域名不是配置的域名就响应400错误。结果配置好后测试死活不成功。

检查 LoadModule rewrite_module libexec/apache2/mod_rewrite.so成功


<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %HTTP_HOST !^(www.xxx.com|www.yyy.com) [NC] 

    RewriteCond %HTTP_HOST !^[\\d\\.]+

    RewriteRule ^/(.*)$ -[F,L]

</IfModule>

没有问题啊,telnet www.xxx.com 80测试死活不成功,后来突然用浏览器访问效率竟然就是对的。才发现telnet上去直接GET /,没有发送任何header,结果当然取不到

%HTTP_HOST 。用浏览器,curl,wget测试都通过。

以上是关于apache的 rewrite规则的主要内容,如果未能解决你的问题,请参考以下文章

Apache Rewrite规则详解[转]

Apache Rewrite规则详解

修改apache的rewrite规则,测试时竟然绕住了。

Apache rewrite地址重写

Apache 的 Rewrite 规则详细介绍

apache mod_rewrite - 重写规则