删除 url 中的 Index.php 像“laravel-project/public/login”而不是“laravel-project/public/index.php/login”

Posted

技术标签:

【中文标题】删除 url 中的 Index.php 像“laravel-project/public/login”而不是“laravel-project/public/index.php/login”【英文标题】:Remove Index.php in url Like " laravel-project/public/login "not " laravel-project/public/index.php/login " 【发布时间】:2019-12-27 08:53:57 【问题描述】:

我的 laravel 项目有问题

我想删除 url 中的 index.php

喜欢

http://localhost/react/Lara-react/public/admin/home

如果使用这个,我会得到 404 未找到

但是如果我使用

http://localhost/react/Lara-react/public/index.php/admin/home

它的作品和

http://localhost:8000/admin/home

^ 适用于

我的 .htaccess

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

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

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %HTTP:Authorization .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
</IfModule>

我试过了

https://laravel.com/docs/5.8/installation#pretty-urls

但不工作......

有人帮忙

【问题讨论】:

你启用了 apache rewirte 吗? 是的,启用了 rewirte apache 你能添加你的 apache 虚拟主机配置吗? 【参考方案1】:

http://localhost/react/Lara-react/public/admin/home

由于您的根路径为http://localhost,因此 url 无法搜索 index.php,因此无法正常工作。 当您触发命令 php artisan serve 命令时,应用程序的根目录变为 http://localhost/react/Lara-react/index.php 因此所有路由都附加到根创建 http://localhost/react/Lara-react/public/index.php/admin/home 使应用程序工作

在生产中,您也将项目的根路径定义为 /var/www/html/react/Lara-react/index.php。

因此,使用 php artisan serve 命令进行开发很有帮助,因为它创建了一个模拟环境作为生产环境

【讨论】:

【参考方案2】:

1)。运行常见的“gedit /etc/apache2/apache2.conf”

    Alias /project_name /var/www/html/project_name/public/

   <Directory /var/www/html/project_name/public>
     AllowOverride All
     Order allow,deny
     allow from all
  </Directory>

2)。在 'project_name/public/.htaccess' 中添加基本 url

RewriteBase /project_name 

3)。最后运行“服务 apache2 重新启动”

【讨论】:

以上是关于删除 url 中的 Index.php 像“laravel-project/public/login”而不是“laravel-project/public/index.php/login”的主要内容,如果未能解决你的问题,请参考以下文章

nginx 重定向循环,从 url 中删除 index.php

无法从 codeigniter 中的 URL 中删除“Index.php”

从 Windows 中的 CodeIgniter URL 中删除 index.php

如何从 laravel 5 中的 url 中删除 public/index.php?

从 iis7 中的 wordpress URL 中删除 index.php

从 zend 框架 1.12 中的 url 中删除 index.php