簡體   English   中英

Wordpress htaccess 不適用於子目錄

[英]Wordpress htaccess not working with subdirectory

我的域中有目錄offering-pages

提供頁面/.htaccess 代碼是

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.php [L]
</IfModule>
# END WordPress

我訪問 wordpress 的儀表板和我網站的主頁。 當我轉到其他頁面時,如http://domain/offering-pages/offerings-for-students/它顯示domain/index.php的內容

嘗試使用此腳本並根據其名稱更改域和子域,並將與wordpress相關的問題發布到wordpress.stackexchange

RewriteEngine On

# rewrite subdomains to separate folder
RewriteRule ^subdomain/ - [L]

RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$
RewriteRule ^(.*)$ subdomain/$1 [L]
# or if you want to rewrite sub.domain.com/test to /subdomain/sub/test
#RewriteRule ^(.*)$ subdomain/%1/$1 [L]

# force www
RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R]


# BEGIN WordPress
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.php [L]
# END WordPress

您是否在提供頁面目錄中安裝了Wordpress? 如果是這樣,則需要更改index.php以指向安裝了Wordpress的目錄。

從:

require(dirname(__FILE__) . '/wp-blog-header.php');

至:

require(dirname(__FILE__) . '/offering-pages/wp-blog-header.php');

解決了!!!

頂級站點的自定義永久鏈接(“Plain”以外的任何內容)與子目錄站點的自定義永久鏈接(“Plain”以外的任何內容)發生沖突。

兩者都不能設置為自定義(沒有復雜的解決方案)。

要修復(並且在修改或創建帖子和頁面時不會得到“無效的 JSON 響應”),只需刪除頂級站點的 .htaccess 文件(通常在 public_html 下的根目錄中)。

並且為了防止將來發生沖突,請轉到頂部站點的站點設置 > WordPress 中的永久鏈接並將設置更改為普通,刪除任何類別和標簽庫,然后單擊保存。 當您單擊 SAVE 時,將創建一個新的 .htaccess 文件或覆蓋該目錄的舊文件(而普通實際上意味着一個空的 .htaccess 文件或沒有設置)。

這意味着您不會從頂級站點創建帶有漂亮 URL 的頁面和帖子(對於該特定站點,您必須使用自動生成的帖子或頁面 URL,例如 example.com/?p=123 而不是 example .com/postname)。

安東尼奧·羅巴托

暫無
暫無

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

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