我有 php 5.3.8、apache 2.2.21,除了 mod_rewrite 之外一切都很好
默认情况下LoadModule rewrite_module modules/mod_rewrite.so
启用(未注释掉)
ClearModuleList
不存在
AddModule mod_rewrite.c
不存在
然后你就有了
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
我仍然测试了 mod_rewrite,但它没有工作,我还能做什么?如果不是因为 .htaccess,我会使用 nginx,顺便说一下,当我获得 vps 时,apache 是默认安装的,然后我更新了它,但这并没有改变 httpd.conf 设置
你认为我应该自己卸载它并重新安装吗?每个人都说 mod_rewrite 不应该默认启用,所以我不知道为什么我的 apache 不一样
答案1
Redirect
指令属于mod_alias
,而不是mod_rewrite
。
为了测试mod_rewrite
,请将下面的文件放在.htaccess
文档根目录中:
RewriteEngine On
RewriteRule (.*) http://google.com [R=301,L]
确保你AllowOverride All
设置<Directory "/document/root">
答案2
如果你有 PHP
<?php phpinfo(); ?>
在您的 Web 浏览器中加载该页面,然后搜索“mod_rewrite”。一切顺利的话,您会在页面的“Apache 加载模块”部分找到它。
.htaccess前任何重写规则必须有RewriteEngine on
RewriteRule 的结构
重写规则模式替换 [OptionalFlags]