我有多個wordpress安裝和.htaccess
重寫規則的一些問題,主要用於強制https,但也去除www。來自任何域。強制非WWW,但強制https跨越所有wordpress和整個域名
域/子域:
- WordPress的1:
examplewebsite.com
(/home/hostingacc/public_html/
) - WordPress的2:
test.examplewebsite.com
(/home/hostingacc/public_html/test/
) - WordPress的3:
moretests.examplewebsite.com
(/home/hostingacc/public_html/moretests
)
htaccess的重新寫入
我試圖用我已經在互聯網上發現了幾個重寫規則,一個是不知道該怎麼用最好的之一,但下面是我用
RewriteEngine On
RewriteCond %{HTTP_HOST}#%{HTTPS}s ^www\.([^#]+)#(?:off|on(s)) [NC]
RewriteRule^http%2://%1%{REQUEST_URI} [R=301,L]
,我從拿到主重寫規則https://github.com/h5bp/server-configs-apache/issues/48但如前所述,這些中的一個可能更適合爲FORCING HTTPS和強制刪除WWW
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} ^www.examplewebsite.com
RewriteRule ^(.*)$ https://examplewebsite.com/$1 [L,R=301]
或
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^examplewebsite\.com$ [NC]
RewriteRule^https://examplewebsite.com%{REQUEST_URI} [R=301,L]
或
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www*\.(.*examplewebsite\.com)$ [NC]
RewriteRule^https://%1%{REQUEST_URI} [R=301,L]
或
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www*\.(.*examplewebsite\.com)$ [NC]
RewriteRule^https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
所有上述規則,似乎在關於工作,迫使HTTPS和主WordPress安裝去除WWW但是規則目前不適用於子域或/wp-admin/
每個wordpress安裝的子目錄,我認爲這是因爲每個目錄中都有一個.htaccess
文件。
問題重溫
examplewebsite.com(主站)正確被迫始終使用https,也被迫刪除WWW。但是...問題位於examplewebsite.com/wp-admin/,它仍然正確強制https(通過規則或通過wp-config.php強制管理員ssl,但它並沒有強制刪除www。原因,我想這是因爲我有以下.htaccess文件位於/ wp-admin /文件夾下,所以它看起來像我需要在此文件夾中的htaccess規則來強制刪除www。並且也強制https。
test.examplewebsite.com和moretests.examplewebsite.com(子域)都有它不是強制使用HTTPS的一個問題,這也不是強制刪除WWW。
test.examplewebsite.com和moretests.examplewebsite。 com(子域名)都與第一個/ wp-admin /具有相同的問題不要強行刪除www。
如果我進入我的子域的設置或SQL,甚至編輯wp-config.php以覆蓋SQL並將網站url和home url更改爲使用https並且不使用www。(https的會導致此問題),那麼WordPress的安裝變得inacessable,他們消失和來訪的鏈接子域重定向的主要網站,而不是
配置
- examplewebsite.com /負載 - 電流。 htaccess的文件
主頁:http://pastebin.com/raw/9RNuQZS5
WP管理:http://pastebin.com/raw/8vVnDTRx
- examplewebsite.com - SQL變量
站點URL(主頁):https://www.examplewebsite.com
WordPress的網址:https://www.examplewebsite.com
- examplewebsite.com - WP配置(覆蓋SQL)
配置:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('WP_HOME','https://examplewebsite.com');
define('WP_SITEURL','https://examplewebsite.com');
define('DOMAIN_CURRENT_SITE', 'examplewebsite.com');
define('COOKIE_DOMAIN', 'examplewebsite.com');
define('ADMIN_COOKIE_PATH', '/wp-admin/');
- test.examplewebsite.com和moretests.examplewebsite.com
的子域都設置如下,但是不施加WP-配置目前因爲強制https導致問題4.
.htaccess文件與99%相同到主域/網站與那個唯一的例外在那些沒有自定義代碼重寫WP循環規則(從WWW重定向到非www和HTTP重定向到https)
- test.examplewebsite。 COM和moretests.examplewebsite.com - SQL變量
站點URL(主頁):http://test.examplewebsite.com
WordPress的網址:http://test.examplewebsite.com
- test.examplewebsite.com和moretests.examplewebsite。COM - WP配置(重寫SQL)
配置:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('WP_HOME','https://test.examplewebsite.com');
define('WP_SITEURL','https://test.examplewebsite.com');
define('DOMAIN_CURRENT_SITE', 'test.examplewebsite.com');
define('COOKIE_DOMAIN', 'test.examplewebsite.com');
define('ADMIN_COOKIE_PATH', '/wp-admin/');
設置上面,導致同樣的問題,因爲SQL變化(第4期)
應該在哪裏子域名重定向到如果沒有HTTPS?主要域名或與https的子域名? –
子域名應該是https而不是http。 – Ryflex
你說wp-admin沒有做https?你的.htaccess中會有其他規則可以做到這一點嗎? –