Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Как убрать .html в конце адреса

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


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

вопрос
Как убрать .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 - 27 июня 2014 20:56 -

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

Kota
Юзер

Kota - 27 июня 2014 20:59 -

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

Gopr
Юзер

Gopr - 27 июня 2014 21:01 -

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 - 27 июня 2014 21:16 -

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

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

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

D0Gmatist
Юзер

D0Gmatist - 27 июня 2014 23:34 -

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

Gopr
Юзер

Gopr - 27 июня 2014 23:39 -

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

Kota
Юзер

Kota - 28 июня 2014 01:29 -

Убрать \.html

vpkach
Юзер

vpkach - 28 июня 2014 09:56 -

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

kpox
Юзер

kpox - 28 июня 2014 10:59 -

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

vpkach
Юзер

vpkach - 28 июня 2014 20:38 -

Не идёт (

Haizenberg
Юзер

Haizenberg - 10 апреля 2015 13:53 -

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

kriva
Юзер

kriva - 2 марта 2017 07:14 -

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

nowheremany
Эксперт

nowheremany - 2 марта 2017 09:37 -

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

Если вы уберете 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

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх