Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Ламерские вопросы » Как убрать .html в конце адреса

Как убрать .html в конце адреса


     Все вопросы » Ламерские вопросы    12818

вопрос
Как убрать .html в конце адреса ссылок ? А вообщем (у меня по русскому языку двойка, я не знаю, что в русском языке не существует слова вообщем) мне нужно убрать на статических страницах.

Юзал следующий код в .htaccess но в тегах и категориях не пашет, а в стат.страницах работает всё.

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


Может кто-то знает что нужно подправить в этом коде, может кто-то даст готовый вариант или напишет как убрать .html в статических страницах.

Кто даст рабочий вариант, разуемся заплачу.

Ответил: vip.boss


Открываем: ..htaccess
Находим. RewriteEngine on

Ниже ставим.
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^\.]+)\.p?html?$ http://ТВОЙСАЙТ.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]

13 комментариев

vpkach
Юзер

vpkach - -

Убрал, не идёт. Вы дайте готовы код, попробую.

Kota
Юзер

Kota - -

Дайте урл полный, и как он должен выглядеть.

Gopr
Юзер

Gopr - -

RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^\.]+)\.p?html?$ http://ТВОЙСАЙТ.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]

vpkach
Юзер

vpkach - -

Все стандартные статические страницы dle должны перенаправлять с .html на без .html ( пример: http://site.ru/static.html > http://site.ru/static) В данный момент так всё и работает с кодом который в моём посте, но категории не работают и выдают 404 ошибку, в этом вся и проблема.

Gopr - ваш вариант к большому сожалению не работает.

Кто даст рабочий вариант, оплачу не обижу.

D0Gmatist
Юзер

D0Gmatist - -

Gopr, а по рукам за такое ))

Gopr
Юзер

Gopr - -

Наверное справедливо по рукам, я же просто вгуглил ;)

Kota
Юзер

Kota - -

Убрать \.html

vpkach
Юзер

vpkach - -

Вы укажите где убрать ?

kpox
Юзер

kpox - -

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
Убрать тут RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\\ HTTP

vpkach
Юзер

vpkach - -

Не идёт (

Haizenberg
Юзер

Haizenberg - -

проблема то нашла решения ?

kriva
Юзер

kriva - -

Если стат. страниц намечается много. Что бы автоматом это делало, как быть?

nowheremany
Эксперт

nowheremany - -

Что за холивар непонятный?

Если вы уберете HTML - то как скрипт определит категория это или новость?
Нужно сделать разделение например /news/ это категория /news это стат страница.

Что бы такое сделать в этом коде
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

надо убрать вопрос

И соответсвенно в этих (что бы не делать редирект)
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]
RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1&seourl=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]

надо убрать .html

Вот и все

Единственное, в static.php надо править код и убрать там тоже .html

Благодарность принимаю тут Связь

Похожие вопросы

наверх