expr

怎样恢复404文件不存在(怎样恢复404文件不存在 cn)

Laravel框架是很多PHP开发者使用的号称最简洁优雅的框架,笔者也是一个Laravel框架的使用者,在部署服务的时候,遇到的主目录正常访问,其他目录都报404错误的问题

一、Windows+Apache+MySql+PHP(简称Apache环境WAMP)

Apache环境404报错

如果你是本地环境,使用的是PhpStudy安装的集成环境,我们只要找到Laravel框架目录下的public文件夹里面的.htaccess文件,在里面添加以下代码即可恢复

<IfModule mod_rewrite.c>

<IfModule mod_negotiation.c>

Options -MultiViews -Indexes

</IfModule>

RewriteEngine On

# Handle Authorization Header

RewriteCond %{HTTP:Authorization} .

RewriteRule .* -

# Redirect Trailing Slashes If Not A Folder...

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} (.+)/$

RewriteRule ^ %1

# Send Requests To Front Controller...

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php

</IfModule>

Ps:其实我们在通过Composer安装Larvel框架以后,这个.htaccess文件里面就是这个内容,只是我们在用集成环境设置本次测试域名的时候,这个.htaccess文件里面的内容就被清空了。

二、Windows+Ngix+Mysql+PHP

Ngix子路由目录报错

我们还是以PhpStudy集成环境为例,这个时候我们不能在Laravel框架文件内去寻找我们需要找到phpstudy里面的设置->配置文件->vhosts.conf->{你设置的网站域名}_80 这个文件:

phpstudy修改方法

修改你的域名的.conf文件

加上以下代码:

try_files $uri $uri/ /index.php?$query_string;

Ps:如果配置文件中存在 try_files $uri $uri/ =404;需要将它注释掉或者删掉,否则会报错

Ngix在修改完成以后一定要重启服务器,否则无效。

三、Linux环境其实跟Windows环境的问题是一样的 都是要找到conf文件进行修改,这里笔者以当下最火热的宝塔的集成面板为例子:

首先我们打开面板 找到 网站 -> 设置 -> 配置文件 ->修改添加以下代码

try_files $uri $uri/ @rewrite;

location @rewrite {

rewrite ^/(.*)$ /index.php?_url=/$1;

}

LINUX宝塔面板Laravel框架设置步骤

Apache环境相对比较简单 还是参考Windows环境实例。

作为一名计算机工作人员,还是感谢各位同仁的无私奉献,这个是本人在工作中遇到的一些问题,记录下来,让大家节省更多的时间,去做我们值得做的事情。

加油!!!

温馨提示:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,如有侵权,请联系删除!