您好,欢迎光临赵帅的博客,如果有什么不足或者错误之处,感谢您留言指出!

【原创】Ubuntu 16.04 apahche2 url路径 去除 index.php

php 赵 帅 234浏览 0评论

关于Ubuntu 安装 apache2 之后 如何 支持 php 路由,并去除url路径上面的 index.php

Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单 , 其配置文件里面没有 httpd.conf 配置文件,

它把各个设置项分在了不同的配置文件中,看起来复杂,但仔细想想设计得确实很合理。

我们就来介绍一下其配置文件里面的各个文件的作用:

  • sites-available   这里面是放什么的呢?其实,这里面才是真正的配置文件,而sites- enabled目录存放的只是一些指向这里的文件的符号链接,你可以用ls /etc/apache2/sites-enabled/来证实一下。所以,如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了:当在sites-enabled下建立一个指向某个虚拟主机配置文件的链 接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,根本不用去改配置文件。
  • mods-availablemods-enabled和上面说的sites-availablesites-enabled类似,这两个目录 是存放apache功能模块的配置文件和链接的。当我用apt-get install php5安装了PHP模块后,在这两个目录里就有了php5.load、php5.conf和指向这两个文件的链接。这种目录结果对于启用、停用某个 Apache模块是非常方便的。
  • ports.conf,这里面设置了Apache使用的端口。如果需要调整默认的端口设置,建议编辑这个文件。或者你嫌它实在多 余,也可以先把apache2.conf中的Include /etc/apache2/ports.conf一行去掉,在httpd.conf里设置Apache端口。

所以我们不能其他版本一样,直接修改 httpd.conf 文件:

#LoadModule rewrite_module modules/mod_rewrite.so

把前面的警号去掉

话不多说,开始干活:

1.我们需要开启 apache2 的rewrite模块,使用下面的命令:

sudo a2enmod rewrite
sudo service apache2 restart

2.在APACHE里面去配置 ,将里面的AllowOverride None都改为AllowOverride All:

3.最后我们需要在项目的根目录下面添加一个 .htaccess 文件,内容如下:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

补充: windows 里面不能创建 .htaccess , 下面我说下创建方法
新建任何一个文件,然后打开, 点击另存为 (文件类型选择所有),这样就可以创建了

这样就可以啦:

 

转载请注明:碎念 » 【原创】Ubuntu 16.04 apahche2 url路径 去除 index.php

喜欢 (5)or分享 (0)