2010-01-15 12 views
2

В настоящее время я использую Wordpress как платформу для ведения блогов, но я хочу изменить использование Jekyll для создания статических страниц. На Wordpress мои URL-адреса используется следующий формат:Добавление .html в конец URL-адреса

/год/месяц/день/название

, но я хочу, чтобы перенаправить что

/year/month/day/title.html

и я не могу понять, как это сделать с помощью mod_rewrite.

У кого-нибудь есть идеи?

ответ

2
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 (кроме реальных файлов), на тот же URL-адрес, если к нему не добавлен .html.

+0

Если бы я хотел это сделать фактический редирект (возможно 301, а) я бы сделал «RewriteRule (. +) \. html $ $ 1 [L, R, 301]" (без кавычек, obv)? –

+0

Почти правильно: вы должны использовать [L, R = 301] –

+0

Извините, я неправильно понял, что вы положили бы в Rewrite Rule. Он должен взять текущий URL и положить .html в конец. Что-то вроде следующего: RewriteRule (. +) $ $ 1.html [R = 301, L] –

0

Я считаю, что вы можете просто пойти в Admin: → Настройки → Permalinks и установите пермалинки в обычай со значением:

/%year%/%monthnum%/%day%/%postname%.html

+0

Больше не использовать Wordpress (см. OP), и я не хочу потерять рейтинг Google. –

+0

Ahh, я думал, вы имели в виду, что хотите использовать Wordpress для сообщений, но приносите URL-адреса в соответствие с Jekyll (для страниц). –

+0

Я думал об этом, но если кто-то попытается перейти на какие-то текущие страницы, они получат 404. Я пытаюсь избежать этого. –