我在/var/www目录中创建了一个文件.htaccess。这些权利是“根根--wxrwxrwxr”。
该文件的内容如下:
Options +FollowSymlinks
RewriteEngine on
RewriteLogLevel 3
RewriteLog "/var/log/apache2/rewrite.log"
RewriteRule ^(.*?)$ testphp.php当我调用页面phpinfo.php时,我得到了:加载模块.mod_rewrite ...因此,加载模块。
每次修改之后,我都会使用sudo /etc/init.d/apache2 restart手动地对服务器进行重新定位。
error.log给出
Apache/2.2.14 (Ubuntu) PHP5.3.2-1ubuntu4.2配置了Suhosin恢复正常操作
当我调用页面anyone.htm或anyone.php时,rewrite.log不包含任何内容,而真正的页面被调用。如果我理解,页面anyone.php应该被testphp.php取代。
我做错什么了吗?
谢谢
发布于 2010-06-13 16:16:44
如果我是一个web服务器,为了稳定和安全起见,我会忽略任何可写的配置文件。我知道Apache中有这样的地方;我忘记了.htaccess处理是否是其中之一,但我假设/希望是这样。
发布于 2010-06-14 13:38:48
谢谢你的帮忙
下面是我为让Apache2服务器按照重写规则运行所做的事情:
RewriteEngine On RewriteRules ^(.*)$ test.php
在“/etc/apache2/sites available/default”中,我在目录/
AllowOverride all
Order deny,allow
Allow from all在目录"/var/www“中,同样的2行。我不知道为什么,但是RewriteLog n的规则在.htaccess中没有。在"/var/www“中,我创建了两个文件,index.html (默认值)和test.php。test.php包含
<?php phpinfo(); ?>当我调用页面index.html时,将显示php信息。
再来一次,谢谢。
https://stackoverflow.com/questions/3032618
复制相似问题