簡體   English   中英

WordPress網站未連接到非www上的數據庫

[英]WordPress site not connecting to DB on non-www

我的WordPress網站出現問題,無法連接到非www域上的數據庫。 我正在嘗試使用以下規則將所有非www請求重寫為www,但這沒有任何效果:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

在我的服務器上,我目前有兩個.htaccess文件-一個在根目錄中,該文件將裸域重定向到一個包含我的網站的子目錄(請參見下文),另一個在此子目錄中,該目錄重寫了一些默認的WordPress網址。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/sub-directory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /sub-directory/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ sub-directory/index.php [L]
</IfModule>

對於DNS,我有一個A記錄,該記錄將@指向我的服務器的IP地址,並將一個CNAME將該www指向@

我的wp-config.php文件包含以下讀取數據庫憑據的條件:

if($_SERVER['SERVER_NAME'] !== 'www.domain.com') {
  include(dirname(__FILE__) . '/wp-config-local.php');
  define('WP_LOCAL', true);
}else {
  // Production credentials
}

我知道domain.com無法連接到我的數據庫,因為它的$_SERVER['SERVER_NAME']變成了domain.com而不是www.domain.com ,但是我沒有將兩者都添加到憑據條件中,而是認為.htaccess重寫會避開這個。 我正在努力確定問題出在哪里。 提前致謝

問題是在子目錄重定向后執行了非www規則。 一旦放置在前面,一切都會按預期工作。

暫無
暫無

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

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