Задать вопрос

Как убрать .html в конце адреса каждой веб-страницы сайта, без использования php?

Читал, что можно убрать .html с помощью файла .htaccess, но весь код, который я видел для убирания .html написан на php.

А так как я использую бесплатный хостинг и на нем стоит запрет на использование php, то мне не удается убрать .html.
Можно ли как-то убрать расширение файла в конце адреса без использования php?
Java-скриптом, например...
  • Вопрос задан
  • 87309 просмотров
Подписаться 15 Оценить Комментировать
Решения вопроса 3
RewriteEngine On
RewriteCond %{REQUEST_URI} ! \.html$
RewriteCond %{REQUEST_URI} ! /$
RewriteRule ^(.*)$ $1.html


В htaccess. Обращение на /about будет открывать /about.html, к примеру
Ответ написан
@banksy
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ site.ru/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html
site.ru замени на домен твоего сайта.

В .htaccess. Обращение к /about.html перенаправляет на /about. Сам этот вариант использую, и вам советую.
Ответ написан
Alien-Ka
@Alien-Ka
Я девочка и не хочу платьице. Я хочу кофе и кодить
а не вариант создать папку например "anything", в папке index.html и у тебя будет путь
"mysite.ru/anything/"??
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
viktornaymayer
@viktornaymayer
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Пояснение:
#Включаем механизм преобразования
RewriteEngine On
#Задаем условие "в url указан путь файла?"
RewriteCond %{REQUEST_FILENAME} !-f
#Если да, то просто убираем html
RewriteRule ^([^\.]+)$ $1.html [NC,L]

PS Теперь путь в коде указываем так: <a href="example">Example</a>
И конечно вместо $1.html можно написать $1.php
Ответ написан
@platinum11
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L,QSA]
RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]

для тех кому нужно убрать расширение php из урла (адресной строки). код проверен и работает
Ответ написан
Папка с названием и в ней index.htm
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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