源码之家在帮客户处理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
复制代码
以上提供为.htaccess文件 代码,可复制到你的.htaccess文件里面保存上传到Discuz站根目录,重启apache生效 !
转帖请加上版权
來源:源码之家|源码之家的Discuz!教程网站
地址:http://www.ymzj.cn/thread-79343-1-1.html
|