Discuz x2站点Linux Apache下URL静态化设置Rewrite

来源:互联网 发布:淘宝客服经理岗位职责 编辑:程序博客网 时间:2024/06/09 23:19

这里,只谈Linux下的URL静态化处理

1. 确保你的apache 下已经加载了Rewrite模块,确保httpd.conf中已经包含mod_rewrite.so的加载语句如下:

LoadModule rewrite_module modules/mod_rewrite.so

2. 在虚拟主机中添加Directory

<Directory /var/www/xxr.so/>Options FollowSymLinksAllowOverride Allorder allow,denyAllow from all</Directory>

3. 在网站根目录下,创建 .htaccess文件,内容如下


# 将 RewriteEngine 模式打开  RewriteEngine On    # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /  RewriteBase /discuz    # Rewrite 系统规则请勿修改  RewriteCond %{QUERY_STRING} ^(.*)$  RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$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  

注意一定要修改 RewriteBase 

4. 修改 Disciz x2 -seo 设置 把所有项选择为可用,Rewrite兼容性选否。


到此为止你的Discuz 的链接地址就会变成类似这样的:

http://bbs.xxrb.com.cn/forum-321-1.html

http://bbs.xxrb.com.cn/thread-149418-1-1.html


怎么样,赶快试试吧!!