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-server 下Apache2 配置.htaccess 隐藏thinkPHP项目index.php
Ubuntu Apache配置及开启mod_rewrite模块