discuz论坛Apache Rewrite实现URL重写的配置方法
来源:互联网 发布:英国的域名后缀 编辑:程序博客网 时间:2024/05/16 23:38
配置步骤:
第一步:找到apache的配置文件httpd.conf(文件在conf目录下)
第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。
打开httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so
把#去掉
找到AllowOverride None 改成 AllowOverride All
注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache 服务器要读每个网站下目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则就不会有任何效果。
对于不同的网址,需要在APACHE中增加如下内容
<Directory “E:/Apache Group/Apache2/htdocs/myweb”>
/*引号里E:/Apache Group/Apache2/htdocs/myweb代表你的web存放目录*/
/*如果是Linux,只要你定位到你网站目录即可*/
Options FollowSymLinks
AllowOverride None
</Directory>
第三步:将Rewrite 配置规则加入到httpd.conf文件里(以下代码)
Apache Web Server(独立主机用户):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
</IfModule>
第四步:新建一个文件.htaccess ,然后把如下代码复制进去保存好:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topicid=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1
注意:
1 .htaccess文件放在你的网站根目录,在windows操作系统下若无法创建,可以这样去弄出来,找到一个现成的文件或者随便打开一个文本文件,然后另存为,文件名取:.htaccess 就可以了。
2 RewriteBase / 这句意思是门户网站所存放的目录,如果你放在网站根目录下 请保持不变,如果是别的目录,比如我放在bbs目录下,请修改成RewriteBase /bbs ,改了以后伪静态成功,否则失败。
第五步:重启apache,在discuz后台开启url静态功能
- discuz论坛Apache Rewrite实现URL重写的配置方法
- apache url rewrite实现url重写配置详解
- Apache Mod_Rewrite实现URL重写的配置方法
- Apache Mod_Rewrite实现URL重写的配置方法
- Apache Mod_Rewrite实现URL重写的配置方法
- Apache Mod_Rewrite实现URL重写的配置方法
- Apache的rewrite做URL重写
- Apache的rewrite做URL重写
- Discuz配置搜索引擎优化(URL重写) apache配置
- Apache中 URL Rewrite技术的实现
- Apache中URL Rewrite技术的实现
- windows apache 使用.htaccess URL重写的配置方法
- Apache Rewrite 的重写规则
- apache重写rewrite的log
- apache的rewrite重写学习
- apache mod_perl实现 url rewrite
- apache配置URL重写
- apache 实现url 重写
- ACM博弈----三大博弈大体总结
- Hadoop-HDFS DFSClient的严重bug
- 在android中实现两张图片对比
- java中equals()与"=="区别
- Robot Motion HDU 1035
- discuz论坛Apache Rewrite实现URL重写的配置方法
- YUV & RGB
- Python100例——第四章----素数的家族
- ucGUI 中 加入汉字库和图片的方法
- WinRAR4.2破解注册方法
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 漫谈Objective-C :空段selector
- 黑马程序员--Window对象的属性1
- MyEclipse8.6+Flash Builder 4.0 plug-in创建Flex-J2EE程序