如果页面是Laravel中的目录列表,则重定向到主页

时间:2017-03-18 18:38:01

标签: apache laravel .htaccess laravel-5.1

如果他们所在的网页是目录列表,我希望能够将用户重定向到(即404页面或返回主页),如下所示:

enter image description here

这是我的 .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]
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L] 
</IfModule>

Laravel有可能吗?我知道你可以重定向到app / Exceptions / Handler.php文件中的特定页面,以防出现特定错误,如404或500.也许它可能使目录生成错误,并让handler.php做重定向?

2 个答案:

答案 0 :(得分:0)

您可以使用

进行php重定向
    <?php
    // PHP permanent URL redirection test
    header("Location: http://www.rapidtables.com/web/dev/php-redirect.htm", true, 301);
    exit();
    ?>

你见过:This tutorial?

答案 1 :(得分:0)

它不是严格意义上的Laravel问题,目录列表由Apache和Laravel直接提供,甚至没有加载。

作为一种简单的解决方法,您可以在目录中放置一个最小的index.html,并为重定向设置元数据,即:

<meta http-equiv="refresh" content="0;URL=http://www.example.com/example">

更好的解决方案是正确配置Apache,您可以找到一些信息here