site.ru/123.html to site.ru/123

orenburger

Создатель
Регистрация
29 Июл 2008
Сообщения
12
Реакции
0
Помогите пожалуйста, нужно сделать так, чтобы страницы хранящиеся на сервере в виде site.ru/some_folder/123.html были доступны по URL site.ru/some_folder/123
 
RewriteRule site.ru/some_folder/123(.*) /site.ru/some_folder/123.html$1 [PT]

Я точно не уверен, но вроде так
 
А наоборот получается так:
Код:
RewriteEngine on
RewriteRule ^/some_folder/$1\.html  /?some_folder/([^/\.]+)$[L]

И зачем папку ставить то?

Я думаю правильнее вот так:
Код:
RewriteEngine on
RewriteRule ^/$1\.html  /([^/\.]+)$[L]

А вообще вот как мне надо
site.ru/123 --> site.ru/123.html

Чтобы любые страницы так редиректирись без html (но главная чтобы не бралась в расчет!)
 
Читайте, что просил сделать ТС.
Код:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule (.+) /$1.html [R=301,L]
Не то. Он со всех переводит на html, а нужно только на тех, на которых его не было или скажите как с страницы без html сделать с ней?

т.е. конкретно site.ru/123 --> site.ru/123.html
 
Не то. Он со всех переводит на html, а нужно только на тех, на которых его не было
Только скрипт именно так и делает, но для других расширений тоже html конкатенируется.
Ну в таком случае можно кинуть проверку на точку в запросе, но это как-то туповато:
Код:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.\w+
RewriteCond %{REQUEST_URI} !/$
RewriteRule ([^/]+) /$1.html [L]
 
Только скрипт именно так и делает, но для других расширений тоже html конкатенируется.
Ну в таком случае можно кинуть проверку на точку в запросе, но это как-то туповато:
Код:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.\w+
RewriteCond %{REQUEST_URI} !/$
RewriteRule ([^/]+) /$1.html [L]
Просто он делает из index.php --> index.php.html
 
Просто он делает из index.php --> index.php.html
Знаю, по этому и написал в следующем посте
Только скрипт именно так и делает, но для других расширений тоже html конкатенируется.
Последний вариант так не делает, убраны все файлы с расширением, и директории.
 
Странно, сейчас вообще не работает. Хорошо что не вставляет куда не надо, но и нигде не работает :)

UPDATE...

Нашел решение для Joomla:
Redirect html-suffix in your URLs
Switching off the suffix
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ /$1 [R,L]

Switching on the suffix
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule ^(.*)$ /$1.html [R,L]
 
Назад
Сверху