簡體   English   中英

htaccess為什么網站重定向到//

[英]htaccess why is site redirecting to //

在我的htaccess中,我將所有非https重定向到https。 它可以工作,但還會添加一個額外的“ /”,因此該URL為“ https://www.[MY SITE URL] .co.uk //”

為什么是這樣? 老實說,我真的不知道htaccess中的所有操作是什么,它從谷歌搜索答案復制到“將所有請求重定向到https”

我的htaccess:

Options -MultiViews
RewriteEngine On    # Turn on the rewriting engine

RewriteBase /

#RewriteCond %{HTTP_HOST} ^(www\.)?jobooz\.com  [NC]
#RewriteRule ^(.*)$  https://www.jobooz.co.uk/$1     [R=301,L,NC]


RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/$1

RewriteRule    ^/?$    /php/index.php    [NC,L]    # Home page

我還注意到我添加到網址中的任何更深層的網址,例如“ / search-jobs / jobs-near-me”,然后也被復制到“ / search-jobs / jobs-near-me / search-jobs / jobs”中-near-me”重定向到https時。

如果我直接轉到https版本,則所有URL都可以正常工作。

任何幫助表示贊賞,謝謝。

以下重寫規則有問題:

RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]

為什么您會在重寫的URL中看到重復的片段的要點是(.*)匹配所有內容,並且已經包含主機和URI。 相反,您可以嘗試將端口80上的任何傳入請求重定向到HTTPS。

RewriteCond     %{SERVER_PORT} ^80$
RewriteRule     ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM