2017-03-18 15 views
0

自分のページがディレクトリリストの場合は、404ページに戻るかホームページに戻すことができます:ページがLaravelのディレクトリリストの場合はホームページにリダイレクト

<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で、このことが可能です:ここで

enter image description here

は私のの.htaccessファイルのですか? 404または500のような特定のエラーが発生した場合、app/Exceptions/Handler.phpファイルの特定のページにリダイレクトすることができます。おそらく、ディレクトリにエラーを生成させ、handler.phpにリダイレクトをさせることは可能でしょうか?

答えて

0

その厳密にはLaravelの質問を、。あなたがディレクトリに最低限のindex.htmlをを入れて、redirectioneのメタを設定することができます簡単な回避策として

、すなわち:

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

より良い解決策が正しくApacheを設定することです、あなたはいくつかを見つけることができますinfos here

+0

ディレクトリにindex.htmlファイルがあると、ディレクトリビューができなくなりますが、この場合は表示を妨げる​​だけではなく、 。 –

+0

index.htmlの中に私が上に書いたメタリフレッシュがある場合は、あなたが望む場所にリダイレクトすることができます – dparoli

0

あなたは何か

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

を使用してPHPのリダイレクトを行うことができ、あなたが見てきた:ディレクトリのリストは、そのさえロードされていないApacheとLaravelにより直接提供されるThis tutorial?

+0

これは実際にはすべて役に立ちません。どのように私はディレクトリリスティングにPHPのリダイレクトを置くことができるだろうか? –

+1

dparoliの答えと同じように、index.htmlを開いたときにPHPスクリプトを実行させることができます – evilpanda

関連する問題