删除 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?