📜  laravel 从 url 中删除 index.php - PHP (1)

📅  最后修改于: 2023-12-03 15:17:13.637000             🧑  作者: Mango

Laravel 从 URL 中删除 index.php - PHP

Laravel 是一个流行的 PHP 框架,具有强大的功能和灵活性。默认情况下,Laravel 在 URL 中包含了 index.php,但是你可能希望删除它以提高 URL 的美观性和可读性。这个指南将向你展示如何在 Laravel 中删除 index.php

方法
Apache Web 服务器

如果你使用 Apache 作为你的 Web 服务器,你可以通过修改 .htaccess 文件来删除 URL 中的 index.php。你可以在 Laravel 项目的根目录中找到这个文件。

打开 .htaccess 文件,并找到以下代码块:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

将其替换为以下代码:

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

保存文件并重新加载网页,现在你的 URL 将不再包含 index.php

Nginx Web 服务器

如果你使用 Nginx 作为你的 Web 服务器,你需要修改 Nginx 的配置文件来删除 URL 中的 index.php。你可以在 /etc/nginx/sites-available/ 目录中找到你的 Laravel 项目的配置文件。

打开配置文件,并找到以下代码块:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

将其替换为以下代码:

location / {
    try_files $uri $uri/ /index.php?$query_string;
    if ($uri !~ "^/public/") {
        rewrite ^(.*)$ /public/$1 last;
    }
}

保存文件并重新加载 Nginx,现在你的 URL 将不再包含 index.php

结论

通过按照上述方法删除 Laravel URL 中的 index.php,你可以提高你的 URL 的美观性和可读性。这对于用户和搜索引擎来说都是一个积极的因素。记得在修改配置文件之前备份文件,以防止出现问题。