<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]
# Force SSL
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#Redirect to non www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
# 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>
私はLaravel 5.4を使用しています.htaccessファイルを作成してhttpをhttpsに、wwwをwww以外にリダイレクトしようとしています。上記のコードは、リダイレクトループを引き起こします。htaccessはhttpsと非wwwにリダイレクトします[Laravel 5.4]
私はここで間違っていますか?私はラグの答えでhtaccessファイルを更新
おかげ
EDIT 1
は、まだリダイレクトループになります。 Laravelに付属の書き換えルールのいくつかと矛盾しているのでしょうか?それは、このリダイレクトループエラーの原因となっている理由は、最も可能性が高い -
は、ここにあなたが.htaccess
あなたが同じだけの異なる条件で、3回をリダイレクトやっているを見てみると、更新の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]
# Force SSL
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !=on
RewriteRule^https://example.com%{REQUEST_URI} [R=301,L]
#GZIP
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
# 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>
私はこれを動作させることはできません。 はRewriteRuleです。^(。*)$ https:// {HTTP_HOST}%{REQUEST_URI} [R = 301、L] "%"がありませんか? RewriteRule ^(。*)$ https:// {%HTTP_HOST}%{REQUEST_URI} [R = 301、L]にする必要がありますか? –
自分のコードを編集しました。今すぐ働かなければならない。 @ J.Doe – Lag
をテストする前にキャッシュをクリアすることを忘れないでください。htaccessの新しいバージョンで投稿を更新しました。依然としてリダイレクトループが発生します。おそらく、ラーベルが提供する書き換えのいくつかと矛盾しているのでしょうか? –