Ubuntu 下apache2开启rewrite隐藏index.php

Posted 日拱一卒,功不唐捐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 下apache2开启rewrite隐藏index.php相关的知识,希望对你有一定的参考价值。

为了实现

http://www.example.com/route/route

而不是

http://www.example.com/index.php/route/route

需要开启apache2的rewrite模块

首先修改

/etc/apache2/apache2.conf

将文件中allowoverride none改成allowoverride all 利用vim替换

:%s/AllowOverride None/AllowOverride ALl

然后修改mods-enable配置,添加一个软件链接

cd /etc/apache2/mods-enable
ln -s ../mods-avaiable/rewrite.load  rewrite.load

然后修改项目根目录下.htaccess文件的rewrite规则,添加

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]

这是一个正则表达式,将访问网站的路径直接替代成index.php/路径参数形式,重启apache

service apache2 restart

ok了

 

以上是关于Ubuntu 下apache2开启rewrite隐藏index.php的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下修改apache2.4的rewrite

Ubuntu-server 下Apache2 配置.htaccess 隐藏thinkPHP项目index.php

如何在Ubuntu下启动Apache的Rewrite功能

Ubuntu Apache配置及开启mod_rewrite模块

Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤

apache开启重写模式