我目前使用Wordpress作爲博客平臺,但我想更改爲使用Jekyll生成靜態頁面。 WordPress的我的網址使用以下格式:將.html添加到URL的末尾
/年/月/日/標題
但我想重定向到
/year/month/day/title.html
我無法弄清楚如何使用mod_rewrite來做到這一點。
任何人有任何想法?
我目前使用Wordpress作爲博客平臺,但我想更改爲使用Jekyll生成靜態頁面。 WordPress的我的網址使用以下格式:將.html添加到URL的末尾
/年/月/日/標題
但我想重定向到
/year/month/day/title.html
我無法弄清楚如何使用mod_rewrite來做到這一點。
任何人有任何想法?
RewriteEngine On
# Only if the URI is not a normal file
RewriteCond %{REQUEST_FILENAME} !-s
# ... or a symbolic link
RewriteCond %{REQUEST_FILENAME} !-l
# ... rewrite everything that ends on .html to the stripped down URL
RewriteRule (.+)\.html$ $1 [L]
# Alternatively, if you want to be more specific about the scheme, you can use this
# RewriteRule ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)\.html$ $1/$2/$3/$4 [L}
上面應該給你一些關於如何正確地重寫URL到你想要的方案的指針。這個例子透明地將.html結尾的所有內容(除實際文件外)重寫爲不添加.html的同一個URL。
我相信你可以進入管理→設置→永久鏈接,並用一個值來設置永久鏈接定製:
/%year%/%monthnum%/%day%/%postname%.html
不再使用Wordpress(請參閱OP),我不想失去任何谷歌排名。 – 2010-01-15 12:50:03
啊,我以爲你的意思是你想用WordPress的帖子,但帶來的網址與Jekyll(頁面)一致。 – 2010-01-15 12:52:50
我在想那個,但是如果有人試圖去任何目前的頁面,他們會得到404。我想避免這種情況。 – 2010-01-15 13:01:47
如果我想它做一個實際的重定向(大概301爲好)我會做 「RewriteRule(。+)\。html $ $ 1 [L,R,301]」 (不含引號,obv)? – 2010-01-15 12:44:15
幾乎正確:您應該使用[L,R = 301] – 2010-01-15 13:23:58
對不起,我誤解了您在重寫規則中的內容。它應該採取當前的URL並把.html放在最後。 類似於以下內容: RewriteRule(。+)$ $ 1.html [R = 301,L] – 2010-01-15 13:25:12