[英]Wordpress Permalinks resulting in 404 not found
我似乎無法讓我的永久鏈接在我的WordPress網站上正常工作。
我的WordPress主頁和wp-admin都可以正常工作,但我的所有子頁面均無法正常工作。
我一直在想弄我的.htaccess文件和site.conf文件,但似乎無法正常工作。
對於上下文,我具有以下文件結構:
Root
|--.htaccess
|--wordpress
|--|--index.php
路徑: /var/www/html/domain.ca/public_html/wordpress
這是我當前的.htaccess配置:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.ca$
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.ca$
RewriteRule ^(/)?$ wordpress/index.php [L]
</IfModule>
# END WordPress
這是我當前的site.conf文件:
<VirtualHost *:80>
ServerAdmin email@email.com
ServerName domain.ca
ServerAlias www.domain.ca
DocumentRoot /var/www/html/domain.ca/public_html
<Directory /var/www/html/domain.ca/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
LogLevel alert rewrite:trace3
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我已經嘗試過進入wp-admin並重新保存永久鏈接,這只會使情況變得更糟,因為它似乎默認將我的.htaccess設置為專為根目錄而不是子目錄安裝的WordPress設計的。
我還確保在Apache中啟用了mod_rewrite,並重新啟動了服務器。
您的Virtualhost很好,您應該保留默認的wp .htaccess,因為它會在您設置永久鏈接后自動生成(至少在兩條注釋行#BEGIN
和#END WordPress
)
引自https://wordpress.org/support/article/giving-wordpress-its-own-directory/#method-ii-with-url-change
我想第1、5和10點已經為您完成,但可能會幫助將來的讀者。
為要存儲的核心WordPress文件創建新位置(在示例中,我們將使用/ wordpress)。 (在Linux上,從www目錄中使用mkdir wordpress。您可能要在創建的wordpress目錄中使用chown apache:apache。)
轉到常規屏幕。
在WordPress地址(URL)中:設置主要WordPress核心文件的地址。 示例: http : //example.com/wordpress
在站點地址(URL)中:設置根目錄的URL。 范例: http : //example.com
現在,將WordPress核心文件(從根目錄)移動到子目錄。
將WordPress目錄中的index.php和.htaccess文件復制(不移動!)到您網站的根目錄(博客地址)中。 .htaccess文件是不可見的,因此您可能必須將FTP客戶端設置為顯示隱藏文件。 如果您沒有使用漂亮的永久鏈接,則可能沒有.htaccess文件。 如果您在Windows(IIS)服務器上運行WordPress並使用漂亮的永久鏈接,則WordPress目錄中將有一個web.config文件而不是.htaccess文件。 對於index.php文件,說明仍然相同,請將index.php文件復制(不要移動)到您的根目錄中。 必須將web.config文件與.htaccess文件區別對待,因此您必須將web.config文件移動(不要復制)到根目錄中。
在文本編輯器中打開根目錄的index.php文件
更改以下內容並保存文件。 使用WordPress核心文件的目錄名稱,將以下行改為:require(dirname( FILE )。'/ wp-blog-header.php');更改為以下內容:require(dirname( FILE )。'/ wordpress / wp-blog-header.php');
登錄到新位置。 現在可能是http://example.com/wordpress/wp-admin/
如果已設置永久鏈接,請轉到永久鏈接屏幕並更新您的永久鏈接結構。 如果WordPress具有適當的文件權限,它將自動更新.htaccess文件。 如果WordPress無法寫入您的.htaccess文件,它將向您顯示新的重寫規則,您應將其手動復制到.htaccess文件中(與主index.php文件位於同一目錄中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.