WordPress 固定網址設定(Apache)

Loading

預設文章網址是長成這樣 https://benjr.tw/?p=4 ,但是我們可以使用固定網址設定,可以讓你的網址變成這樣短 https://benjr.tw/4 ,不過不用擔心以前設定的 ?p= wordpress 還是會幫你轉到新的網址去.

設定區分為兩部分

Apache

Apache (HTTP 服務器) 須要設定過後才能使用.

# vi /etc/httpd/conf/httpd.conf
<Directory /var/www>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

還要重新啟動 Apache

# sudo service apache2 restart

Ubuntu 的 Apache2 檔案則是存放在 /etc/apache2/apach2.conf ,還要額外多做下面的設定.

# sudo a2enmod rewrite

.htaccess

在 WordPress 的 控制台 / 設定 / 固定網址 / 常見設定 / 自訂結構 來設定固定網址,我是設定成 自訂結構 https://benjr.tw/%post_id% , /%post_id% 代表文章網址將以 unique ID 來顯示比如 4.

但如果系統出現下面的信息請自行將檔案內容寫到 .htaccess ,這檔案需儲存在你網站的根目錄,以我的環境是 /var/www/benjr

若你的 .htaccess 是 可寫入的, 我們可以自動幫你設定;不過很明顯地並非如此,所以你要手動把下面的 mod_rewrite 規則寫到你的 .htaccess 檔案中。 請點選下面的欄位並按 CTRL + a 全選。(記得下拉,設定檔內容蠻多的)
# vi /var/www/html/.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

關於 .htaccess 的語法請參考 https://benjr.tw/100916 說明.

這個檔案是要給 Apache 讀取的所以 .htaccess 需要權限設定
RedHat:

#sudo chown apache:apache .htaccess

Ubuntu:

#sudo chown www-data:www-data .htaccess

設定好之後可以到 控制台 / 設定 / 固定網址 / 常見設定 / 自訂結構 來設定.

在 WordPress 的設定 固定網址,我是設定成 自訂結構 https://benjr.tw/%post_id% , /%post_id% 代表文章網址將以 unique ID 來顯示比如 4,更多的設定參數請自行參考 Using Permalinks 儲存即可.

參數參考

  • %year%
    The year of the post, four digits, for example 2004
  • %monthnum%
    Month of the year, for example 05
  • %day%
    Day of the month, for example 28
  • %hour%
    Hour of the day, for example 15
  • %minute%
    Minute of the hour, for example 43
  • %second%
    Second of the minute, for example 33
  • %post_id%
    The unique ID # of the post, for example 423
  • %postname%
    A sanitized version of the title of the post (post slug field on Edit Post/Page panel). So “This Is A Great Post!” becomes this-is-a-great-post in the URI.
  • %category%
    A sanitized version of the category name (category slug field on New/Edit Category panel). Nested sub-categories appear as nested directories in the URI.
  • %author%
    A sanitized version of the author name.
沒有解決問題,試試搜尋本站其他內容

6 thoughts on “WordPress 固定網址設定(Apache)

  1. 自動引用通知: CentOS 7 + wordpress – Benjr.tw
  2. 搬家就照著 http://benjr.tw/345

    首頁可以開啟
    但點選進去卻發現
    系統顯示
    Not Found
    The requested URL /2775 was not found on this server.

    我一開始還以為什麼東西設定錯誤,後來才發現是 .htaccess 沒有複製到,所以造成 固定網址設定 自訂結構 http://benjr.tw/%post_id% 沒有正常.

    後來重新設定 .htaccess 就可以使用了.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料