【问题标题】:Is there a way If someone accesses a directory in my laravel project, I redirect them to homepage?有没有办法如果有人访问我的 laravel 项目中的目录,我会将他们重定向到主页?
【发布时间】:2020-01-22 15:45:21
【问题描述】:

我有一个 laravel 项目(如果具体是 5.8 版),其中 CSS 和 JS 文件位于公共目录的子目录中。
例如,有一个我想允许的www.mysite.test/css/app.css。 但是,如果用户尝试访问 www.mysite.test/css 之类的网址,我想重定向用户

目前,它显示一个空白屏幕,这是不希望的。

重要提示:目录中的文件必须是可访问的

【问题讨论】:

标签: php laravel .htaccess laravel-5.8


【解决方案1】:

您需要做的是在您的 web.php 路由中添加此代码,例如:

Route::fallback(function () {
    return redirect()->back();
});

来源:Laravel Docs

【讨论】:

  • 感谢您的回答,但这不符合我的要求,它会重定向未找到的目录,但如果指定的目录可用,它仍然显示空白屏幕。例如: www.mysite.test/not-available-css :重定向到主页,但 www.mysite.test/css 显示黑屏
【解决方案2】:

这里已经回答了这个问题。看到这个Link

只需在您的上传文件夹中添加包含内容的 .htaccess 文件:

Deny from  all

【讨论】:

  • 对不起,但这不是我要找的,您提供的链接试图拒绝访问某些目录中的某些文件,但我想要的是允许访问文件,但如果他们父目录被调用。正如我所说,www.mysite.test/css/app.css 必须是可访问的,但 www.mysite.test/css 会重定向到主页。
【解决方案3】:

这里有两个选项,

1。使用 index.php

基本上,您在css 目录中添加一个index.php 文件,然后使用此索引文件通过类似的方式重定向用户

<?php
header('Location: http://www.mysite.test/');
?>

2。 .htaccess

或者您可以使用它来只允许从所有人那里读取选定的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2017-04-24
    • 2018-03-22
    • 1970-01-01
    • 2022-01-19
    • 2021-06-23
    • 2014-07-13
    相关资源
    最近更新 更多