Apache和重写模块
我在/var/www目录中创建了一个.htaccess文件。权限是“根根--wxrwxr” 该文件的内容是:Apache和重写模块,apache,mod-rewrite,Apache,Mod Rewrite,我在/var/www目录中创建了一个.htaccess文件。权限是“根根--wxrwxr” 该文件的内容是: Options +FollowSymlinks RewriteEngine on RewriteLogLevel 3 RewriteLog "/var/log/apache2/rewrite.log" RewriteRule ^(.*?)$ testphp.php 当我调用phpinfo.php页面时,我得到了:加载的模块。。。修改。。。 因此,模块被加载 每次修改后,我都会使用sud
Options +FollowSymlinks
RewriteEngine on
RewriteLogLevel 3
RewriteLog "/var/log/apache2/rewrite.log"
RewriteRule ^(.*?)$ testphp.php
当我调用phpinfo.php页面时,我得到了:加载的模块。。。修改。。。
因此,模块被加载
每次修改后,我都会使用sudo/etc/init.d/apache2 restart
手动重新启动服务器
error.log给出了
配置了Suhosin补丁的Apache/2.2.14(Ubuntu)PHP/5.3.2-1ubuntu4.2--恢复正常操作
当我调用一个页面anyone.htm或anyne.php时,rewrite.log不包含任何内容,真正的页面被调用。如果我理解,页面anyone.php
应该被testphp.php
我做错什么了吗
谢谢如果我是一个web服务器,出于稳定性和安全性的考虑,我会忽略所有可写的配置文件。我知道在阿帕奇有这样的地方;我忘了.htaccess处理是否是其中之一,但我认为/希望是这样。谢谢您的帮助 下面是我使用重写规则运行Apache2服务器的步骤:
RewriteEngine On
RewriteRules ^(.*)$ test.php
AllowOverride all
Order deny,allow
Allow from all
在目录“/var/www”中,相同的两行。我不知道为什么,但是规则RewriteLog n
在.htaccess中没有这个词。在“/var/www”中,我创建了两个文件,index.html(默认值)和test.php。php包含
<?php phpinfo(); ?>
当我调用page index.html时,会显示php信息
再来一次,谢谢。谢谢你的回答,我把文件权限改为644,目录改为755。我重新启动Apache服务器,得到了完全相同的结果。如果您负担得起,请在.htaccess中添加一行垃圾,等待一分钟,并确保它导致服务器错误。它不会关闭服务器;它只会破坏对该目录和其中所有内容的访问。但是,这是我所知道的确保.htaccess文件被实际使用的最快的方法(除了在配置文件中寻找根)。