我有一个网站,我刚刚添加了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