убрать расширение .html через htaccess

12
hkdkest
На сайте с 11.11.2009
Offline
126
4462

Здравствуйте. Возникла такая проблема. Страницы на сервере .html а нужно что бы расширения удалялось. Добавил в htaccess:

#Убрать html

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

Но теперь появилась проблема. На сайте есть папки и страницы .html одинаковые и после этого кода отказывается открывать index.html в папках:

Forbidden


You don't have permission to access /news/ on this server.

Подскажите пожалуйста как исправить?

Покупка сайтов, BL в Webmoney > 500 Аттестат продавца. Продажа рекламы на более чем 400 сайтах.
dmitcat
На сайте с 26.05.2005
Offline
123
#1

DirectoryIndex index.php может сделать?

Либо селяВи (http://www.puper.ru), либо селяВас (http://www.puper.ru)!!!
hkdkest
На сайте с 11.11.2009
Offline
126
#2
dmitcat:
DirectoryIndex index.php может сделать?

Это не помогает . тоже самое

Forbidden

You don't have permission to access /news on this server.

T
На сайте с 09.12.2011
Offline
55
tls
#3

hkdkest, вы хотите сказать, что без .htaccess этой ошибки нет и адреса /news/ и /news/index.html нормально открываются?

UPD: И редирект какой-то сложный, можно сделать так:

RedirectMatch 301 (.+)\.html$ http://www.example.com$1/

siv1987
На сайте с 02.04.2009
Offline
427
#4

добавить

RewriteCond %{REQUEST_URI} !/index\.html

перед

RewriteRule ^([^.]+)\.html$ http://www.****.ru/$1 [R=301,L]

hkdkest
На сайте с 11.11.2009
Offline
126
#5
tls:
hkdkest, вы хотите сказать, что без .htaccess этой ошибки нет и адреса /news/ и /news/index.html нормально открываются?

UPD: И редирект какой-то сложный, можно сделать так:

RedirectMatch 301 (.+)\.html$ http://www.example.com$1/

да открываются без редиректа

---------- Добавлено 31.08.2014 в 02:39 ----------

siv1987:
добавить
RewriteCond %{REQUEST_URI} !/index\.html

перед
RewriteRule ^([^.]+)\.html$ http://www.****.ru/$1 [R=301,L]

не помогло, ничего не изменилось

[Удален]
#6
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1 [R=301,L]

Файлы доступы по адресу site.com/file

папки site.com/folder/

siv1987
На сайте с 02.04.2009
Offline
427
#7
hkdkest:
не помогло, ничего не изменилось

Что значит "ничего не изменилось"? Что по вашему должно было изменится? Может мы говорим о разных изменениях. Не проверял, но по логике файл index.html реврайт не должен захватывать.

hkdkest
На сайте с 11.11.2009
Offline
126
#8
siv1987:
Что значит "ничего не изменилось"? Что по вашему должно было изменится? Может мы говорим о разных изменениях. Не проверял, но по логике файл index.html реврайт не должен захватывать.

все равно затрагивает

hkdkest
На сайте с 11.11.2009
Offline
126
#9
siv1987:
добавить
RewriteCond %{REQUEST_URI} !/index\.html

перед
RewriteRule ^([^.]+)\.html$ http://www.****.ru/$1 [R=301,L]

точнее я наверное не верно выразился.

У меня в папке нет index.html . Просто не открывается файл news.html потому что есть папка news

J
На сайте с 20.02.2014
Offline
120
jkm
#10
hkdkest:

На сайте есть папки и страницы .html одинаковые и после этого кода отказывается открывать index.html в папках
hkdkest:

У меня в папке нет index.html . Просто не открывается файл news.html потому что есть папка news


RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ http:///www.****.ru/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule (.*) /$1.html [L]

DirectorySlash Off
12

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