+ -
当前位置:首页 → 问答吧 → 求助PHP,关于htaccess

求助PHP,关于htaccess

时间:2011-08-31

来源:互联网

环境:windows XP + PHPnow  
htaccess文件内容  
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteLog "E:/Php/Web/rewrite.log"
#RewriteLogLevel 3
#加上面两行 报错:RewriteLog not allowed here
RewriteRule ^(.+)/index $1/aa.html [L]
#RewriteRule ^(.*)show-([0-9A-Za-z]+)\.html$ $1/index\.php\?Action=$2
#RewriteRule ^(.*)show-([0-9A-Za-z]+)\.html$ $1/\?Action=$2
#上面三条规则均不起作用
</IfModule>

[ 本帖最后由 fragrance3 于 2011-8-31 17:11 编辑 ]

作者: fragrance3   发布时间: 2011-08-31

引用:
#RewriteLog "E:/Php/Web/rewrite.log"
#RewriteLogLevel 3
下面的正则不太懂。。

这两条报错很有可能是你磁盘的写权限没有打开。。尤其是NTFS的磁盘分区格式。。这个问题很常见的。。你可以。。试一下。

作者: bluekee   发布时间: 2011-08-31

感谢楼上速度解答。
我这是本地的环境,应该不存在权限问题吧?

作者: fragrance3   发布时间: 2011-08-31

续上:#加上面两行 报错:RewriteLog not allowed here
这里我的意图是想知道htaccess有没有在工作的。
但是日志写不进去。这也说明htaccess是在工作的,规则的语法我写错了 ?

[ 本帖最后由 fragrance3 于 2011-8-31 17:24 编辑 ]

作者: fragrance3   发布时间: 2011-08-31

楼主的规则是httpd.conf的规则,不是.htaccess的
规则可以找点资料,比如DZ的users_guide.htm

1、在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。
复制内容到剪贴板
代码:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.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 ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
        RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2
    </IfModule>
2、
检查论坛所在目录中是否存在 .htaccess 文件,如果不存在,请手工建立此文件。Win32 系统下,无法直接建立 .htaccess 文件,您可以从其他系统中拷贝一份,或者在 Discuz.net 技术支持栏目中下载此文件。编辑并修改 .htaccess 文件,添加以下内容
复制内容到剪贴板
代码:
    # 将 RewriteEngine 模式打开
    RewriteEngine On
    # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
    RewriteBase /discuz
    # Rewrite 系统规则请勿修改
    RewriteRule ^archiver/((fid|tid)-[\w\-]+\.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 ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
    RewriteRule ^tag-(.+)\.html$ tag.php?name=$1
添加内容时,请遵照上面的提示,修改论坛所在的路径,然后保存。将 .htaccess 文件上传到论坛所在的目录中。然后进入论坛系统设置的搜索引擎优化,根据需要开启 URL 静态化功能。

作者: kuhanzhu   发布时间: 2011-08-31

热门下载

更多