Mod_rewrite 不适用于 Ubuntu Server(不过在本地工作)

Nic*_*own 1 apache ubuntu .htaccess mod-rewrite wamp

我有一个本地环境工作正常。在 .htaccess 中粘贴了一条测试路线,它按预期工作(将我重新路由到谷歌)。

RewriteEngine on
RewriteRule testpage\.html http://www.google.com [R]
Run Code Online (Sandbox Code Playgroud)

我在我的开发服务器(Unbutu 12.04)上粘贴了同样的东西,它只是给了我一个 Not Found 页面。当我通过运行在 devserver 上验证它时:

sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)

它说“模块重写已经启用”。

编辑:它也出现在 phpinfo() 的“加载的模块”部分,自从安装以来我已经多次重新启动 apache 服务器。

有任何想法吗?

Jur*_*ens 5

很可能是因为启用了 mod_rewrite 但通过以下方式禁用了 .htaccess 文件

AllowOverride None
Run Code Online (Sandbox Code Playgroud)

它禁用检查 .htaccess 文件(这会给你一些性能提升,但你必须将你的 mod_rewrite 代码直接放在 apache 配置文件中)

将您的虚拟主机更改为:

AllowOverride All
Run Code Online (Sandbox Code Playgroud)