我有一個網站,我剛剛添加了SSL證書。我增加了以下爲.htaccess所有非HTTPS URL重定向到HTTPS版本:301重定向到HTTPS導致所有非主頁,非HTTPS頁面重定向到主頁
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.myurl.co.uk [R=301,L]
我也希望現場的所有非www版本重定向到www版本,所以我增加了以下內容:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^myurl.co.uk
RewriteRule ^(.*)$ https://www.myurl.co.uk/$1 [R=301,L]
然後,爲了幫助搜索引擎優化,我打開了URL重寫(在Joomla,我正在使用),所以現在我的網址顯示爲https://www.myurl.co.uk/about
而不是https://www.myurl.co.uk/index.php/about
。
但我注意到,當我點擊某個鏈接(例如Google)時,仍然使用舊的網址結構,它會始終將訪問者帶到主頁上,而不是他們點擊的頁面。因此,點擊www.myurl.co.uk/index.php/about
的訪客應該被帶到https://www.myurl.co.uk/about
,但他們直接被帶到https://www.myurl.co.uk
(主頁)。
我嘗試添加了我的網站上的每一頁下面:
Redirect 301 /index.php/about https://www.myurl.co.uk/about
...但是這並沒有解決問題。
我對.htaccess很不熟悉。我在哪裏錯了?
將'RewriteRule ^(。*)$ https://www.myurl.co.uk [R = 301,L] '改爲'RewriteRule ^(。*)$ https://www.myurl .co.uk/$ 1 [R = 301,L]'就像第二條規則('$ 1'是關鍵)。然後閱讀這些如何工作。 :-) – ceejayoz
並且不要忘記清除緩存!您很可能會顯示緩存的網址版本。 – Lag
@ceejayoz完美的工作。非常感謝。 – hypnocyst