开发者社区> 问答> 正文

apache Win2008环境怎么配置dz3.2伪静态?

搜了一下教程帖子有很多,但没看到apache环境的详细教程,用了很多方法都没效果,希望用过的朋友分享,想请教一下应该怎么弄,或者谁能提供一个相同环境的教程地址,谢谢~

阿里云ECS
系统信息
Discuz! 程序版本    Discuz! X3.2 Release 20160601
UCenter 客户端版本    UCenter 1.6.0 Release 20141101
服务器系统及 PHP    WINNT / PHP v5.5.30
服务器软件    Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/5.5.30

展开
收起
whoisali 2016-09-21 12:05:51 5003 0
2 条回答
写回答
取消 提交回答
  • 回 1楼火蓝云的帖子
    我是win系统,一开始看教程上说要把DZ后台生成的规则单独写成一个文件httpd.ini放在要目录,试了无效,后来又看有教程说要把DZ后台生成的规则写进apache的httpd.conf,可仍然无效。
    apache配置中已经打开了 rewrite模块,打开了AllowOverride All
    后台规则用的这个:
    Apache Web Server(独立主机用户)
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3&%1
    </IfModule>
    还是不起作用,不知道哪里配置错了  

    -------------------------

    回 3楼火蓝云的帖子
    发现原来在DZ后台对“仅对游客有效”这一项选否我原来的设置就生效,问题是除了首页全是404

    -------------------------

    回 5楼火蓝云的帖子
    用你的这个规则写入httpd.conf后apache重启不了,写成.htacess放在要目录下无效,除了首页都是404

    -------------------------

    回 7楼火蓝云的帖子
    xxxxxxxxxxxxx

    -------------------------

    回 9楼火蓝云的帖子
    规则用得就是上面你发的

    -------------------------

    回 11楼火蓝云的帖子
    这两个都配置好了

    -------------------------

    Reapache Win2008环境怎么配置dz3.2伪静态?


    -------------------------

    回 14楼火蓝云的帖子
    用了你的文件之后,插件可以用html地址访问,版块和帖子都显示:插件不存在或已关闭
    2016-09-21 14:10:36
    赞同 展开评论 打赏
  • 乐善好施
    apche 开启 rewrite ,可以搜索一下教程
    然后 根目录 放置 .htacess 文件,dz 后台 复制一下 apache 的规则放进去即可

    -------------------------

    回 2楼(whoisali) 的帖子
    .htacess 放这个
    # 将 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 ^list-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^content-([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=$1:$2&%1


    -------------------------

    回 4楼(whoisali) 的帖子
    生效规则不对 用我发的

    -------------------------

    回 6楼(whoisali) 的帖子
    不是写入 http.conf
    看下 开启rewrite 教程 核对一下
    域名地址发来

    -------------------------

    回 8楼(whoisali) 的帖子
    这个是启用 路径 不是规则生效,规则生效 是能访问,如果你根目录 放了 .htacess
    那说明你 配置 rewrite 有问题 检查配置

    -------------------------

    回 10楼(whoisali) 的帖子
    要正确 开起rewrite,修改配置文件 要重启 apache

    Windows Apache 2.2
    加载Rewrite模块:
    在conf目录下httpd.conf中找到
    LoadModule rewrite_module modules/mod_rewrite.so
    这句,去掉前边的注释符号“#”,或添加这句。
    允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”)

    -------------------------

    回 13楼(whoisali) 的帖子

    解压后放在根目录

    -------------------------

    回 15楼(whoisali) 的帖子
    私信发我 网站地址 或者联系我Q 看下

    已解决
    用户创建 .htacess 有问题,我发过去的.htacess由于我的规则和他不一样,更换他的规则解决
    2016-09-21 14:04:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像