免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3423 | 回复: 3
打印 上一主题 下一主题

[Web] 奇怪,Apache不支持Rewrite。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-18 09:39 |只看该作者 |倒序浏览
系统是CentOS 4.3,安装的apache版本是2.2.4

编译参数是:

./configure \
        --with-apr=/usr/local/apr \
        --with-apr-util=/usr/local/apr-util \
        --enable-so \
        --enable-rewrite \
        --enable-proxy \
        --enable-proxy-http \
        --enable-expires

本来没有前两行“--with-apr”的,但是make的时候出现过apr错误的提示,然后单独编译了srclib/apr、srclib/apr-util,之后用上面的参数编译成功了。

测试apache/php都正常的。

另外在extra/httpd-vhosts.conf中建了几个虚拟主机。文件内容如下:

RewriteEngine On

RewriteLogLevel 9
RewriteLog logs/rewrite_log

NameVirtualHost *:80

<VirtualHost *:80>
        DocumentRoot /home/www/htdocs

        php_flag engine off
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/www/test
        ServerName 234.test.com

        RewriteRule ^([\d]+)/(.{2,20}).html$ http://123.test.com/test.php?name1=$1&name2=$2 [R]

        <IfModule dir_module>
                DirectoryIndex index.php
        </IfModule>

        <Directory />
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        Alias /js /home/www/htdocs/js
        Alias /images /home/www/htdocs/images
        Alias /css /home/www/htdocs/css
</VirtualHost>

其他几个虚拟主机内容都是基本的,只是ServerName和DocumentRoot对应了而已。

上述配置没有出错,正常启动了Apache。

但是Rewrite引擎没反映。。。logs/rewrite_log是空文件。

由于“AllowOverride All”,我又在“/home/www/test”里单独写了一个文件:“.httpaccess”

内容大概是:

RewriteEngine On
RewriteOptions MaxRedirects=1

RewriteRule ^([\d]+)/(.{2,20}).html$ http://123.test.com/test.php?name1=$1&name2=$2 [R]

跟前面一样,rewrite引擎无效。

另外,请不要怀疑RewriteRule指令,同样内容的语句在另一台服务器上正常运行的,且那台服务器的apache编译参数是一样的。。。

何解?
先谢谢啦。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-05-18 11:08 |只看该作者
启用rewritelog看看啊

论坛徽章:
0
3 [报告]
发表于 2007-05-20 01:52 |只看该作者
RewriteLogLevel 9
RewriteLog logs/rewrite_log

这两句难道不是启用rewrite日志啊HQ兄?

奇怪。。。

.htaccess里写的代码生效了(至于前文中我些的.httpaccess,因为我加了一句AccessFileName .httpaccess,但是没有作用,且不管这个)。

但是把Rule直接写在extra/httpd-vhosts.conf里不起作用,日志也没有任何错误。rewrite_log是空的。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2007-05-21 12:16 |只看该作者
那你的那个配置文件确实调用了?

检查是否调用,直接加一个指令:TEST,然后重启apache
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP