我在当地的环境下工作得很好。我在.htaccess中粘贴了一条测试路由,它可以正常工作(将我重新路由到谷歌)。
RewriteEngine on
RewriteRule testpage\.html http://www.google.com [R]
我在我的开发服务器(Unbutu 12.04)上粘贴了同样的东西,它只是给了我一个找不到的页面。当我在devserver上运行以下命令进行验证时:
sudo a2enmod rewrite
它显示“模块重写已启用”。
编辑:它还会出现在phpinfo()的“已加载模块”部分,并且自从apache服务器安装后,我已经重启了它几次。
有什么想法吗?
发布于 2012-09-04 22:47:45
这很可能是因为启用了mod_rewrite,但通过禁用了.htaccess文件
AllowOverride None
这禁用了对.htaccess文件的检查(这会给您带来一些性能提升,但您必须将mod_rewrite代码直接放入apache配置文件中)
将您的虚拟主机更改为:
AllowOverride All
发布于 2013-11-26 08:43:03
对于不理解的人- http://victorpotapov.ru/blog/vkljuchaem_mod_rewrite_v_apache/2013-11-03-61
在这个页面上,你可以一步一步地看到,你在ubuntu上输入你的终端
发布于 2014-10-14 16:29:11
启用mod_rewrite
使用以下命令激活mod_rewrite模块
sudo a2enmod重写
并重新启动apache
sudo服务apache2重新启动
编辑虚拟主机以在.htaccess中使用mod重写
sudo nano /etc/apache2/sites-available/000-default.conf
搜索"DocumentRoot /var/www/html“并添加以下行
<Directory "/var/www/html">
AllowOverride All
</Directory>
保存并退出CTRL-X,"Y“,然后输入
重新启动Apache
sudo apache2
重启服务
https://stackoverflow.com/questions/12272328
复制相似问题