优秀的编程知识分享平台

网站首页 > 技术文章 正文

Laravel框架路由主目录正常其他目录404报错的处理方法-值得收藏

nanyue 2024-08-01 22:57:04 技术文章 5 ℃

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

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

如果你是本地环境,使用的是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 .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

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

二、Windows+Ngix+Mysql+PHP(简称Ngix环境WNMP)

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

加上以下代码:

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;  
	}

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

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

加油!!!

Tags:

最近发表
标签列表