內容管理系統通常強制頁面通過index.php路由。內容管理系統(CMS)強制SSL/https://使用.htaccess
例如,我使用的CMS上的頁面顯示在URL中,如下所示。
http://www.my-domain.co.uk/index.php?page=263
的代碼的.htaccess我知道只有聽我發言的index.php文件的一部分。
我現在的重寫代碼如下:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^login/?$ https://www.my-domain.co.uk/login [R=301,L]
這工作,因爲它是一個特定的目錄,但是,
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^index.php?page=263$ https://www.my-domain.co.uk/index.php?page=263 [R=301,L]
似乎並沒有工作。
任何想法?
有你的最後一條規則了幾個問題。 RewriteRule的第一個參數是一個正則表達式,所以?有特殊的意義。另外,我很確定它只查看URL的路徑部分,而不是查詢字符串。試試'^ index \ .php $'。 –
Hi @Sean這個想法似乎看起來朝着正確的方向,但是這又會將所有的URL請求重新寫入HTTPS。因爲cms中的所有頁面都通過index.php腳本。 我假設\具有與vb#腳本相同的功能,它規定以下字符應該被視爲已寫入,並應忽略任何特殊含義? 如果是這種情況,我可以寫它作爲索引\ .php \?page = 263 $ – Josh