Переписать URL-адрес в HTML-файл, вызывая переписать в .html / - PullRequest
0 голосов
/ 08 февраля 2010

В настоящее время я работаю над пересмотром своего сайта блога и нашел способ конвертировать все мои текущие страницы в статические html-страницы.В настоящее время они используют дружественные URL-адреса, которые преобразуются в центральную страницу index.php с прикрепленными к ней параметрами GET.

Я пытаюсь внести изменение, заключив в себе отображение этих же дружественных URL-адресов в их HTML-аналогах.В настоящее время я использую это правило:

RewriteRule ^archives?/([^/]+)/([^/.]+)/?$ archives/$1/$2.html

Журнал ошибок сообщает, что не может найти blah.html/, что означает, что он ищет каталог .html, а не файл .html.Итак, лучший пример:

/archives/2009/original-name

должен отображаться на

/archives/2009/original-name.html

, но действительно отображается на

/archives/2009/original-name.html/

Что мне здесь не хватает?

Ответы [ 3 ]

0 голосов
/ 08 февраля 2010

Я не вижу ничего явно неправильного в вашем регулярном выражении.

В предположении, я бы сказал, что где-то после этого у вас может быть правило, которое перенаправляет что-либо без завершающей косой черты в ее эквивалент с косой чертой (обычная вещь, чтобы избежать проблем с дублирующимся содержимым).

0 голосов
/ 08 февраля 2010

Вы не избежали своего периода во втором утверждении. Попробуйте это.

RewriteRule ^archives?/([^/]+)/([^/\.]+)/?$ archives/$1/$2.html
0 голосов
/ 08 февраля 2010

тебе не нужно использовать его наоборот? Я не тестировал код, но он должен выглядеть примерно так:

RewriteRule ^archives/(.*)/(.*).html archives/$1/$2
...