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

vpkach vpkach   27.06.2014 20:02   9 455  
Как убрать .html в конце адреса ссылок ? мне нужно убрать на статических страницах. Юзал следующий код в .htaccess но в тегах и категориях не пашет, а в стат.страницах работает всё.



RewriteEngine on


RewriteBase /


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP


RewriteRule ^([^.]+)\.html$ http://ТВОЙСАЙТ.com/ [R=301,L]


RewriteCond %{REQUEST_URI} !(\.[^./]+)$


RewriteCond %{REQUEST_fileNAME} !-d


RewriteCond %{REQUEST_fileNAME} !-f


RewriteRule (.*) /$1.html [L]




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




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

DLE.

Ответы на вопрос (5) Написать ответ
vpkach vpkach   27.06.2014 21:18
Все стандартные статические страницы dle должны перенаправлять с .html на без .html ( пример: http://site.ru/static.html > http://site.ru/static) В данный момент так всё и работает с кодом который в моём посте, но категории не работают и выдают 404 ошибку, в этом вся и проблема.
0
Решение
VKoretsky VKoretsky   27.06.2014 21:35
в том и дело, что стандартно в дле такой вид http://site.ru/static имеют категории, и поэтому код что выше вам не поможет, так как у вас категории и статические страницы будут иметь одни ссылки, то есть обрабатываться одним правилом в .htaccess. Убрать .html в конце ссылок и при этом сохранить работоспособность дле можно одним из следующих вариантов
1. для статических страниц добавлять определенный префикс в начале имени, например, "page-", то есть ссылки будут выглядеть так http://site.ru/page-static, тогда после RewriteBase / добавьте следующее правило
RewriteRule ^page-([^/]+)$ index.php?do=static&page=$1 [L]
2. используйте свой код, но тогда нужно писать дополнительный обработчик чпу на пхп, чтобы по полученной ссылке анализировать, что это за страница - главная, категория, статическая, полная новость и т.д.
0
QQkill QQkill   27.06.2014 20:10
"RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP"
Не смущает строчка?
0
vpkach vpkach   27.06.2014 20:21
Её убрать, так я понял ?
0
Smile64 Smile64   29.06.2014 16:33
В .htaccess:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.html -f

RewriteRule ^(.*)$ $1.html
0

Войдите, чтобы написать ответ
Вход Регистрация

B2B Click возвращает до 8% расходов на Yandex.Direct и Google AdWords. Экономьте бюджет и получайте кешбэк с контекста!