主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

6

主题
发表于 2017-6-19 11:39:52 | 查看: 761| 回复: 2
Discuz程序伪静态后列表页不能打开,用的虚拟空间,求伪静态规则

收藏回复 显示全部楼层 道具 举报

发表于 2017-6-19 16:17:08
伪静态,在虚拟主机后台设置一个重写规则。

  1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

  如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。

  如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

  2.建立.htaccess 文件

  a.方法一:最好使用vim来建立这个文件,应为这个文件是没有文件名的,操作起来不太方便。

  b.方法二:新建 htaccess.txt

  用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,然后点击保存。此文件得保存在网站的根目录

  3.让apache服务器支持.htaccess

  修改httpd.conf文件

  Options FollowSymLinks

  AllowOverride None

  改为

  Options FollowSymLinks

  AllowOverride All

  4.填写网站伪静态规则 (需要 了解 正则表达式)

  《IfModule mod_rewrite.c》

  RewriteEngine on

  RewriteRule index.html$ index.php

  RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1//规则这边之间的空格不能漏写,不要写错,不然活报Internal Server Error错误。

  《/IfModule》

回复 显示全部楼层 道具 举报

发表于 2017-6-19 17:45:08
# 将 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
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$12&%1
复制以上代码到记事本,另存为文件名为.htaccess的文件后,上传到discuz目录。如您网站只有这一个程序,直接上传到虚拟主机根目录,即可正常使用。

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-3-29 20:59 , Processed in 0.071338 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表