首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mod_rewrite不能在Ubuntu服务器上工作(但可以在本地工作)

Mod_rewrite不能在Ubuntu服务器上工作(但可以在本地工作)
EN

Stack Overflow用户
提问于 2012-09-05 06:40:17
回答 3查看 5.6K关注 0票数 1

我在当地的环境下工作得很好。我在.htaccess中粘贴了一条测试路由,它可以正常工作(将我重新路由到谷歌)。

代码语言:javascript
运行
复制
RewriteEngine on
RewriteRule testpage\.html http://www.google.com [R]

我在我的开发服务器(Unbutu 12.04)上粘贴了同样的东西,它只是给了我一个找不到的页面。当我在devserver上运行以下命令进行验证时:

代码语言:javascript
运行
复制
sudo a2enmod rewrite

它显示“模块重写已启用”。

编辑:它还会出现在phpinfo()的“已加载模块”部分,并且自从apache服务器安装后,我已经重启了它几次。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-05 06:47:45

这很可能是因为启用了mod_rewrite,但通过禁用了.htaccess文件

代码语言:javascript
运行
复制
AllowOverride None

这禁用了对.htaccess文件的检查(这会给您带来一些性能提升,但您必须将mod_rewrite代码直接放入apache配置文件中)

将您的虚拟主机更改为:

代码语言:javascript
运行
复制
AllowOverride All
票数 5
EN

Stack Overflow用户

发布于 2013-11-26 16:43:03

对于不理解的人- http://victorpotapov.ru/blog/vkljuchaem_mod_rewrite_v_apache/2013-11-03-61

在这个页面上,你可以一步一步地看到,你在ubuntu上输入你的终端

票数 3
EN

Stack Overflow用户

发布于 2014-10-15 00: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“并添加以下行

代码语言:javascript
运行
复制
<Directory "/var/www/html">
AllowOverride All
</Directory>

保存并退出CTRL-X,"Y“,然后输入

重新启动Apache

sudo apache2

重启服务

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12272328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档