[英]Is it possible to create a separate 404 page for a WordPress site within a WordPress site? Any suggestions on how to do this?
[英]How do I fix this 404 error on a Wordpress site page?
我正在嘗試解決客戶的Wordpress網站的問題,該網站在查看他們的頁面之一時會轉到404錯誤頁面。 有問題的URL是https://wpdev.jove.com/editorial-board-new
我已經嘗試過以下解決方案:
這就是.htacess的當前部分。 我相信這是造成404錯誤的部分:
RewriteCond %{HTTP_HOST} ^([a-z\d-]+\.)?jove\.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/((methods-collections)/(industry-
overview|test|industry-license-content|industry-create-
content|corporate-overview|corporate-licensing|corporate-
info|corporate-info-science-education|about|publish-in-a-
collection|be-a-guest-editor|editorial-manager-guide-for-guest-
editors|case-studies)|film-your-research(-2017)?|wp-
login\.php|recommend$|recommend-jove-to-your-librarian|trial/?
$|about|corporate|industry(?!/search)|home|in-the-laboratory|in-the-
classroom(-2)?|blog|librarians|publish|research-partnerships|wp-
content|wp-includes|feed|comments/feed|policies$|wp-admin|wp-json)
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^(new.)?jove.com$
RewriteRule ^(/)?$ wp/index.php [L]
如何在此頁面上修復此404錯誤?
嘗試將這行RewriteCond %{HTTP_HOST} ^(new.)?jove.com$
更改為RewriteCond %{HTTP_HOST} ^(new.|wpdev.)?jove.com$
下面是您的.htaccess文件如何工作的說明
第一行驗證域中僅包含有效字符。 我真的不知道為什么他們認為這是必要的,但是可以。
RewriteCond %{HTTP_HOST} ^([a-z\d-]+\.)?jove\.com$
下一個鏈接檢查我們是否還不在/wp/
文件夾中。 如果是這樣,那么我們就不需要在此.htaccess文件中做任何其他事情,因為/wp/.htaccess
文件將在/wp/.htaccess
運行。
RewriteCond %{REQUEST_URI} !^/wp/
接下來的2行將檢查是否不存在文件或目錄。 因此,在您的情況下,我們將檢查是否尚無editorial-board-new
。 如果確實如此,我們將只加載該文件,而不是加載WordPress。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
然后,我們有了這個超長正則表達式,如果有任何匹配項,它將把請求發送到/wp/
子文件夾。 您可以使用regexr.com之類的網站檢查正則表達式,以獲取有關正則表達式各部分功能的更多信息。
RewriteCond %{REQUEST_URI} ^/((methods-collections)/(industry-
overview|test|industry-license-content|industry-create-
content|corporate-overview|corporate-licensing|corporate-
info|corporate-info-science-education|about|publish-in-a-
collection|be-a-guest-editor|editorial-manager-guide-for-guest-
editors|case-studies)|film-your-research(-2017)?|wp-
login\.php|recommend$|recommend-jove-to-your-librarian|trial/?
$|about|corporate|industry(?!/search)|home|in-the-laboratory|in-the-
classroom(-2)?|blog|librarians|publish|research-partnerships|wp-
content|wp-includes|feed|comments/feed|policies$|wp-admin|wp-json)
現在,如果上述所有重寫條件都為true,我們將重定向到同一文件,但位於/wp/
文件夾中。
RewriteRule ^(.*)$ /wp/$1
否則,如果請求的URL使用域jove.com
或new.jove.com
RewriteCond %{HTTP_HOST} ^(new.)?jove.com$
然后,我們重定向到/wp/index.php
(加載WordPress)
RewriteRule ^(/)?$ wp/index.php [L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.