預設文章網址是長成這樣 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.
謝謝您的這篇文章,成功讓固定網址生效了!
搬家就照著 http://benjr.tw/345
首頁可以開啟
但點選進去卻發現
系統顯示
Not Found
The requested URL /2775 was not found on this server.
我一開始還以為什麼東西設定錯誤,後來才發現是 .htaccess 沒有複製到,所以造成 固定網址設定 自訂結構 http://benjr.tw/%post_id% 沒有正常.
後來重新設定 .htaccess 就可以使用了.