Как из урл site.ru/page.html сделать site.ru/page?

Klopopryg
На сайте с 29.12.2004
Offline
344
524

Проект реализован на голом хтмл, нужно из урл site.ru/page.html сделать site.ru/page?

Без использования базы мускл.

Лучше выстрелить, перезарядить и еще раз выстрелить, чем светить фонариком и спрашивать - "кто тут?"
[umka]
На сайте с 25.05.2008
Offline
456
#1

RewriteEngine on
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
RewriteRule ^(.+)$ $1.html [L]

… это при условии, что мой телепатический модуль правильно распознал поставленную задачу.

И, скорее всего, понадобится добавить исключения для картинок и пр.

Лог в помощь!
R
На сайте с 06.02.2014
Offline
0
#2

Если использовать в урл только англ символы, цифры и знаки "-" и "_", то исключать картинки не потребуется

RewriteEngine On

RewriteRule ^([-_a-zA-Z0-9]+)$ $1.html
Klopopryg
На сайте с 29.12.2004
Offline
344
#3

Не понял, как это реализовать...

Вот в фтп браузере есть файл: "sop-usugi.html", который находиться в папке "uslugi"

Как сделать так, чтобы адрес был: site.ru/uslugi/sop-usugi

[ATTACH]133085[/ATTACH]

jpg 1.jpg
[umka]
На сайте с 25.05.2008
Offline
456
#4
Klopopryg:
Не понял, как это реализовать...

Вставить код в файл .htaccess в корне сайта

GA
На сайте с 16.06.2013
Offline
61
#5
'[umka:
;12675285']
RewriteEngine on
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
RewriteRule ^(.+)$ $1.html [L]


… это при условии, что мой телепатический модуль правильно распознал поставленную задачу.
И, скорее всего, понадобится добавить исключения для картинок и пр.

У меня браузер выдал "неправильное перенаправление".

ramby:
Если использовать в урл только англ символы, цифры и знаки "-" и "_", то исключать картинки не потребуется
RewriteEngine On
RewriteRule ^([-_a-zA-Z0-9]+)$ $1.html

Работает, но редиректа на новый тип адресов нету, страницы доступны по двум адресам, что плохо.

Klopopryg:
Не понял, как это реализовать...

Вот в фтп браузере есть файл: "sop-usugi.html", который находиться в папке "uslugi"

Как сделать так, чтобы адрес был: site.ru/uslugi/sop-usugi

[ATTACH]133085[/ATTACH]

В этой папке создаёте файл .htaccess, а в него вставляете уже код.

У меня сработал такой вариант:

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

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