вскрытие пациента .htaccess - нужен совет!!!

Conocube
На сайте с 16.10.2012
Offline
49
765

Добрый день!

Смастерил сайт визитку, без движка, на html+css, теперь хочу избавиться от расширения страниц типа: http:/www.bla-bal.ru/index.htm на http:/www.bla-bal.ru/index

Начал гуглить нашел кучу советов типа сделать папки, но это не мой вариант. Нашел кучу приписок в .htaccess, но они почему то не работают, точнее работают не все(точнее работают не те которые нужны)!!! в чем может быть дело?

не работает перенаправление с www на без www выглядит вот так:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.bla-bla\.ru$ [NC]
RewriteRule ^(.*)$ http://bla-bal.ru/$1 [R=301,L]

так же не работает отрезатель расширения, выглядит так:

RewriteRule ^(([^/]+/)*[^.]+)$ /.htm [L]

думал что не работает в принципе файл .htaccess, но вот этот кусок все опроверг:

RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.htm\ HTTP
RewriteRule ^([^.]+)\.html$ http://bla-bla.ru/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.htm [L]

этот кусок позволяет делать следующее: вбиваешь адрес типа www.bla-bla.ru/info и он не уходит в 404, а корректно отображает www.bla-bla.ru/info.htm (тока без .htm) - так если это работает то почему два предыдущих не работают??! помогите, а?

создание сайтов, фото/видео услуги, веб дизайн (http://создание-уникальных-сайтов.рф)
V
На сайте с 03.12.2007
Offline
94
#1

а зачем избавляться от расширений?

[Удален]
#2
Conocube:
Смастерил сайт

по-ходу первое апреля перенесли

Conocube
На сайте с 16.10.2012
Offline
49
#3

vavenko, зачем лишние символы в адресе?

webrock
На сайте с 05.04.2010
Offline
261
#4

А mod rewrite включен?

Полный аудит сайтов. (/ru/forum/765361)
Conocube
На сайте с 16.10.2012
Offline
49
#5

webrock, читал что то про этот модуль, но проблема в том что я с .htaccess знаком только поверхостно, из гугла всю инфу нарывал, к сожалению моих знаний не хватает для того чтобы проверить включен ли mod rewrite, если нужно что то самому прописывать(а не на стороне сервера админы должны включать), то я не включал. Если Вам не сложно подскажите как это сделать?

Thommy
На сайте с 06.05.2010
Offline
139
#6

RewriteEngine on - эту директиву нужно добавить в .htaccess при условии, что у хостера это апачем поддерживается. Лучше уточнить.

И вот это вроде бы должно подойти для вашего случая:

В связи с неоднозначностью записи расширения HTML файлов (.htm или .html), некоторые пользователи могут ошибочно набрать адрес страницы. Для автоматического исправления такого рода ошибок, можно воспользоваться mod_rewrite.

RewriteBase /

RewriteRule ^(.*)\.htm$ .html [R=permanent]

Conocube
На сайте с 16.10.2012
Offline
49
#7

Всем спасибо, за содействие! Разобрался. как говорится ларчик просто открывался, все мной выше описанное работает, просто надо мной глумился хром, криво очищая кеш. проверил на других браузерах все работает. Спасибо.

IL
На сайте с 20.04.2007
Offline
435
#8
Thommy:
RewriteRule ^(.*)\.htm$ .html [R=permanent]

Эм.. а что, предположительно, должен делать этот код? И какое отношение имеет к

Conocube:
хочу избавиться от расширения страниц

А в отрезателе расширения не хватает "основной части"

RewriteRule ^(([^/]+/)*[^.]+)$ $1.htm [L]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Conocube
На сайте с 16.10.2012
Offline
49
#9

ivan-lev, спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий