mod_rewrite 未启用?

mod_rewrite 未启用?

我有 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]

相关内容