A-A+

阿里云主机搭建discuz伪静态规则怎么写

2016年06月08日 技术 暂无评论 阅读 8,310 views 次

源码专家在帮客户处理linux服务器的时候发现的问题,有不少Discuz在配置Discuz伪静态的时候用的是阿里云的服务器,不懂的如何解决伪静态。下面由源码专家技术写一下教程,希望给帮到更多的Discuz爱好者。

解决阿里云linux系统主机启用Discuz伪静态教程

由于搜索引擎偏爱于收录静态页(html),因此目前越来越多的网站使用了伪静态urlrewrite技术,下面介绍下如何在万网linux翔云主机上启用伪静态。

1.服务器初始安装的apache默认已经内建了mod_rewrite模块,不需要重复加载.so文件,服务器默认支持伪静态功能。

2.在apache配置文件中加入以下配置:

< Directory /虚拟站点路径>
AllowOverride All
< /Directory>

其中虚拟站点路径需要替换为您的站点的目录文件夹的路径,如/data/home/website2等。

例如:

< Directory /data/home/website2>
AllowOverride All
< /Directory>

如果是默认站点/var/www/htdocs的话,由于已经有了< Directory>的配置,因此不能重复添加,找到默认站点的AllowOverride None 修改成 AllowOverride All 即可。

修改完毕后需要重启apache才能生效:

#  /var/www/bin/apachectl restart

至此对应的站点已经可以支持伪静态了,站点目录下的.htaccess文件将起到对应的静态到动态的转换作用。

附AllowOverride的相关参数说明

http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride

静态文件默认路径一般在/var/www/apache/httpd.conf

或者在 /usr/local/apache2/etc/ vi httpd.conf

这两个路径都找一下。

以上增加不生效同时也可以在.htaccess文件前面增加


<FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)$">    order deny,allow    deny from all</FilesMatch>




如Discuz静态规则

<FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)[ DISCUZ_CODE_0 ]quot;>
order deny,allow
deny from all
</FilesMatch>

# 将 RewriteEngine 模式打开
RewriteEngine On

# 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /

# 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

 

参考来自:http://www.ymzj.cn/thread-79343-1-1.html

标签:

给我留言

您必须 登录 才能发表留言!

Copyright © 推塔网 保留所有权利.   Theme  Ality 15028865

用户登录