apache php 环境装好了,下载了TP5的项目,然后部署上去之后,端口81,,但是
访问
127.0.0.1:81 正常
127.0.0.1:81/admin,报错
404
Not Found
原因是,apache路由重写功能没启动成功
Ubuntu下Apache开启Rewrite模块
安装好apache2后默认是没有开启rewrite模块的,需要我们手动进行配置。
在/etc/apache2目录下有几个需要配置的文件和目录:-
mods-available:包含Apache模块及其配置文件
-
mods-enabled:已开启模块的目录,存放的是已开启模块的链接,分别对应/etc/apache2/mods-available目录下的模块,Apache开启时将会加载该目录下链接对应的模块和配置文件
-
sites-available:包含Apache的虚拟主机配置文件
-
sites-enabled:对应/etc/apache2/sites-available目录下配置文件的链接,与mods-enabled类似。
开启rewrite模块的方法很简单,在mods-available中可以看到名为rewrite.load的文件,只需执行以下命令就可以加载该模块:
sudo a2enmod rewrite
查看了所有的配置都没问题,就是因为没有执行这条命令,开启模块
然后在 mods-enabled目录下就会生成相应的链接,接着还需要修改Apache的虚拟主机配置文件。
sudo vim /etc/apache2/sites-enabled/000-default
将AllowOverride None 修改为 AllowOverride All,如果没有看到这项内容,可以修改apache2.conf配置文件:
sudo vim /etc/apache2/apache2.conf
将其中的AllowOverride None 全部替换为 AllowOverride All:
:%s/AllowOverride None/AllowOverride All
最后重启apache即可:
sudo service apache2 restart