簡體   English   中英

找不到404的Wordpress永久鏈接

[英]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點已經為您完成,但可能會幫助將來的讀者。

  1. 為要存儲的核心WordPress文件創建新位置(在示例中,我們將使用/ wordpress)。 (在Linux上,從www目錄中使用mkdir wordpress。您可能要在創建的wordpress目錄中使用chown apache:apache。)

  2. 轉到常規屏幕。

  3. 在WordPress地址(URL)中:設置主要WordPress核心文件的地址。 示例: http//example.com/wordpress

  4. 在站點地址(URL)中:設置根目錄的URL。 范例: http//example.com

  5. 現在,將WordPress核心文件(從根目錄)移動到子目錄。

  6. 將WordPress目錄中的index.php和.htaccess文件復制(不移動!)到您網站的根目錄(博客地址)中。 .htaccess文件是不可見的,因此您可能必須將FTP客戶端設置為顯示隱藏文件。 如果您沒有使用漂亮的永久鏈接,則可能沒有.htaccess文件。 如果您在Windows(IIS)服務器上運行WordPress並使用漂亮的永久鏈接,則WordPress目錄中將有一個web.config文件而不是.htaccess文件。 對於index.php文件,說明仍然相同,請將index.php文件復制(不要移動)到您的根目錄中。 必須將web.config文件與.htaccess文件區別對待,因此您必須將web.config文件移動(不要復制)到根目錄中。

  7. 在文本編輯器中打開根目錄的index.php文件

  8. 更改以下內容並保存文件。 使用WordPress核心文件的目錄名稱,將以下行改為:require(dirname( FILE )。'/ wp-blog-header.php');更改為以下內容:require(dirname( FILE )。'/ wordpress / wp-blog-header.php');

  9. 登錄到新位置。 現在可能是http://example.com/wordpress/wp-admin/

  10. 如果已設置永久鏈接,請轉到永久鏈接屏幕並更新您的永久鏈接結構。 如果WordPress具有適當的文件權限,它將自動更新.htaccess文件。 如果WordPress無法寫入您的.htaccess文件,它將向您顯示新的重寫規則,您應將其手動復制到.htaccess文件中(與主index.php文件位於同一目錄中)。

暫無
暫無

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

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