为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 和 htaccess 的重定向 Url 问题

Laravel 和 htaccess 的重定向 Url 问题

PHP
慕后森 2023-10-01 17:25:00
我在本地 xampp 中为我的项目创建虚拟主机。网址: http: //kooltech-us.com/我在公共文件夹(Laravel)中有文件夹名称 admin (如下图所示)。在我的项目中我的管理员登录网址 http://localhost/admin/login。我点击 urlhttp://localhost/admin/login进入管理员登录页面.. 没关系.. 但是当我点击这个http://localhost/admin.. 它带我到 public/admin 文件夹。这意味着向我显示公共目录列表。为了防止访问目录列表或 public/admin,我在 .htaccess 文件中写入Options - Indexes代码。一般来说,它会给我 403 错误(禁止访问!)。是工作。我正在寻找当我点击网址时http://localhost/admin它会带我去的 http://localhost/admin/login。笔记:我没有更改文件夹结构。(Laravel 默认文件夹结构存在)。我在 .htacees 文件中只写了一行代码: Options - Indexes。一般来说,这会给我 403 错误(禁止访问!)。版本“laravel/framework”:“5.8.*”我在 web.php 中编写但它不起作用..Route::get('/admin', function () {   return redirect('/admin/login'); });如果需要更多解释请评论..
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

要修改 .htaccess,您需要在 .htaccess 中添加类似的内容,这会将所有请求从 /admin 重定向到 /public,但仍显示为 /admin,这将允许您的重定向正常工作:web.php-


RewriteRule admin /public [L] 

这会给你:-


<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 admin /public [L] 

    RewriteRule ^ index.php [L]


    

</IfModule>

但是我仍然觉得这是不好的做法,并且按照 @flakerimi 的建议更改目录结构将是一个更好的解决方案。


查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信