Domain-Name-System

需要 htaccess 為 wordpress 多站點安裝定義萬用字元子域

  • October 10, 2018

我已經在現有安裝中使用子域安裝了 WordPress 網路,以製作我目前站點的英文版(法語),但在新的子域站點上出現 404 錯誤。如果我自己通過 ftp 創建子域,則在瀏覽器中可以找到子域,但 wordpress 看不到它(如果我理解的話,wordpress 不需要實際的子域文件夾,因為它會在數據庫中創建一個虛擬文件夾) .

我嘗試在 WP 論壇上的某人的幫助下修改 DNS(https://wordpress.org/support/topic/multi-site-install-original-site-is-fine-500-error-on-the- new-subdomain/)但到目前為止沒有成功;他建議我在這裡試試。問題似乎出在伺服器(Apache/2.4.10(Ubuntu))上,但我無法訪問我的託管公司的伺服器,那裡的支持人員說他們也不能,我應該修改 htaccess .

理想情況下,我需要設置一個萬用字元子域“”,或者一個名為“en”的子域,它將轉到我的 wordpress 安裝所在的文件夾,稱為“www”。萬用字元子域已經在 DNS 中設置,也應該*在伺服器上,但我無法檢查(或創建它)。

我應該在 htaccess 中添加什麼來告訴伺服器將所有子域發送到 wordpress 安裝?(或者我還應該做些什麼?)

目前 htaccess 包含以下內容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

</IfModule>

# END WordPress

這些是我目前的 DNS 設置。“bobo”是一個測試子域。 域名系統

這是通過 ftp 截取的伺服器截圖。根據我的主機的說明,wordpress 安裝在 www 文件夾內。 ftp

讓我知道您可能需要的其他資訊。

我不是開發人員,但我可以修改 htaccess 並通過 ftp 上傳。我只是不知道在裡面寫什麼。如有必要,我也可以修改 DNS。我的主機 (online.net) 不使用 CPanel。我可以訪問他們網站上的一些管理工具。

任何幫助是極大的讚賞。

對於 WordPress 多站點,您不希望子域指向文件根目錄之外的子目錄——這似乎是這裡的問題。正如您在問題中所述,您需要子域指向安裝 WordPress 多站點的文件根目錄(www 子目錄)。

所需的只是* CNAMEDNS 中的條目(似乎已經根據您連結到的資訊進行了配置)和伺服器配置中的萬用字元條目,格式如下:

ServerAlias *.example.com

如果未定義“萬用字元”ServerAlias並且您被迫將子域映射到文件根目錄之外的同名子目錄,那麼這似乎就是問題所在。


重申一下我在評論中提到的內容……您不能使用 FTP 客戶端創建子域。您所做的只是創建一個子目錄。如果主機 ( online.net)自動將(萬用字元)子域映射到同名的子目錄(離開文件根目錄),那麼這對於您的主機來說似乎是唯一的。

引用自:https://serverfault.com/questions/934245