当前位置 主页 > 服务器问题 > Linux/apache问题 >

    apache中伪静态配置和使用(Apache虚拟主机下Discuz伪静态)(2)

    栏目:Linux/apache问题 时间:2019-10-09 23:19


    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
    RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
    RewriteRule ^/home/(space|network)-(.+)\.html$ /home/$1\.php\?rewrite=$2
    RewriteRule ^/home/(space|network)\.html$ /home/$1\.php
    RewriteRule ^/home/([0-9]+)$ /home/space\.php\?uid=$1
    RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2
    </IfModule>

    此文适用于Apache虚拟主机用户。
      在开始以下设置之前,首先应该确认服务器支持mod_rewrite以及支持对站点目录中.htaccess的文件解析,否则即便按照下面的方法设置好了,也无法使用。点击查看Apache下开启mod_rewrite的方法。
    Apache下开启mod_rewrite
      服务器环境:Windows Server 2003 SP2 + Apache 2.0.59
      开启方法:
      用文本编辑器打开Apache安装目录\conf\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”这行,去掉前面的“#”;继续查找“AllowOverride None”,修改为“AllowOverride All”;然后,重启Apache即可。

      检查论坛所在目录中是否存在.htaccess 文件,如果不存在,则手工建立此文件。在Win32系统下,无法直接建立.htaccess 文件,则可以从其他系统中拷贝一份,也可以点击这里下载我做的一个,解压缩后即可使用。编辑并修改.htaccess文件,添加以下内容 :
    复制代码 代码如下:
    # 将 RewriteEngine 模式打开
    RewriteEngine On
    # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
    RewriteBase /discuz
    # Rewrite 系统规则请勿修改
    RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1
    RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
    RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
    RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2

      添加内容时,请遵照上面的提示,修改论坛所在的路径,然后保存。将.htaccess文件上传到论坛所在的目录中。进入论坛系统设置,根据需要开启URL静态化功能。

    -=======================================================
    注意下面必须得
    复制代码 代码如下:
    NameVirtualHost *:80
    <VirtualHost *:80>
    ServerAdmin webmaster@domain.com
    DocumentRoot "E:\aaa\wwwroot"
    ServerName *
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3
    RewriteRule ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3
    RewriteRule ^ss-xs/([0-9]+)/spacelist(.*)$ /index.php?$1/action_spacelist$2
    RewriteRule ^ss-xs/([0-9]+)/viewspace_(.+)$ /index.php?$1/action_viewspace_itemid_$2
    RewriteRule ^ss-xs/([0-9]+)/viewbbs_(.+)$ /index.php?$1/action_viewbbs_tid_$2
    RewriteRule ^ss-xs/([0-9]+)/(.*)$ /index.php?$1/$2
    RewriteRule ^ss-xs/([0-9]+)$ /index.php?$1