Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mod_rewrite и index.html
 
 автор: darkozoid   (17.06.2013 в 21:11)   письмо автору
 
 

Доброго вечера... Вопрос простой, но я не знаю на него ответа ))

есть сайт, написан на html в нем есть разделы и в них, само собой, индексные страницы.
Как сделать редирект и razdel/index.html на razdel/

вручную не вариант -очень много разделов...


#RewriteRule ^(.*)index\.htm$ $1 [R=301,L]

так не работает, выдает 310 ошибку

Redirect 301 /interesnoe/zen13/index.html$ http://www.apriorico.com/interesnoe/zen13/


так работает, но не вариант

_______________
ой ой.... я наверно не туда тему создал... сори сори.. можно переместить куда надо ?

  Ответить  
 
 автор: Udachix   (17.06.2013 в 23:16)   письмо автору
 
   для: darkozoid   (17.06.2013 в 21:11)
 

Попробуйте:
RewriteRule ^(.+)\/index.html$ $1/ [L,QSA]

  Ответить  
 
 автор: darkozoid   (18.06.2013 в 22:22)   письмо автору
 
   для: Udachix   (17.06.2013 в 23:16)
 

нет, так тоже не работает

error 500

  Ответить  
 
 автор: Sfinks   (18.06.2013 в 08:58)   письмо автору
 
   для: darkozoid   (17.06.2013 в 21:11)
 

На сколько я понимаю, у вас стоит во всех каталогах
DirectoryIndex index.html

А в мод-реврайт вы ставите редирект index.html на просто путь без файла, т.е. используется именно DirectoryIndex.
И что же мы имеем?...
mod_rewrite пересылает на каталог/
каталог/ обращается к каталог/index.html
mod_rewrite пересылает на каталог/
каталог/ обращается к каталог/index.html
.......
mod_rewrite пересылает на каталог/
каталог/ обращается к каталог/index.html
Internal Server Error

  Ответить  
 
 автор: darkozoid   (18.06.2013 в 22:23)   письмо автору
 
   для: Sfinks   (18.06.2013 в 08:58)
 

хм... ну в таком случае заходя на razdel/ у меня открывался бы razdel/index.html
разве нет?
а я могу зайти и так и так... и в яндексе это дубли страниц

  Ответить  
 
 автор: Sfinks   (19.06.2013 в 12:41)   письмо автору
 
   для: darkozoid   (18.06.2013 в 22:23)
 

Вообще
> так не работает, выдает 310 ошибку
310 - это что за код? Я его не вижу в списке кодов состояния HTTP.

И, кстати, все что меньше 400 - это не ошибки.

  Ответить  
 
 автор: darkozoid   (19.06.2013 в 17:56)   письмо автору
 
   для: Sfinks   (19.06.2013 в 12:41)
 

>310 - это что за код? Я его не вижу в списке кодов состояния HTTP.

310 это таймаут...

  Ответить  
 
 автор: Sfinks   (19.06.2013 в 20:28)   письмо автору
 
   для: darkozoid   (19.06.2013 в 17:56)
 

Хм... Так как же соотносятся
> а я могу зайти и так и так... и в яндексе это дубли страниц
и
> 310 это таймаут...
?

Может это просто временные проблемы на сервере были?
Дайте какой-нибудь адрес, который доступен и так и так, и на котором нет
Redirect 301 /interesnoe/zen13/index.html$ http://www.apriorico.com/interesnoe/zen13/

Вообще не должно быть доступно и так и так, если только вы не забыли на RewwriteRule указать R=301 в квадратных скобках. Должен быть редирект.

Вообще, если не сложно, было бы не плохо увидеть весь .htaccess.

  Ответить  
 
 автор: darkozoid   (20.06.2013 в 08:53)   письмо автору
 
   для: Sfinks   (19.06.2013 в 20:28)
 

>Может это просто временные проблемы на сервере были?
точно нет, так как когда экранировал строку с редиректом, то сайт опять оживал...

>Дайте какой-нибудь адрес, который доступен и так и так, и на котором нет
>
Redirect 301 /interesnoe/zen13/index.html$ http://www.apriorico.com/interesnoe/zen13/

http://apriorico.com/interesnoe/zen13/index.html
http://apriorico.com/interesnoe/zen13/>Хм... Так как же соотносятся

>Вообще не должно быть доступно и так и так, если только вы не забыли на RewwriteRule указать R=301 в квадратных скобках. Должен быть редирект.
>
>Вообще, если не сложно, было бы не плохо увидеть весь .htaccess.

# SSI in html
AddHandler server-parsed .htm .html

#php in html
#AddType application/x-httpd-php .php .htm .html .phtml

ErrorDocument 404 /404.htm

php_flag register_globals off

RewriteEngine On
RewriteBase /

# защита от лишних страниц
# http://www.ahp-net.ru/static404.ahp
#RewriteCond %{QUERY_STRING} ^.+$
#RewriteRule (.*) ----.html [L]


RewriteCond %{HTTP_HOST} ^xn----8sbahmnsesedgbhtrls7hvc.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://apriorico.com/znakomstva/$1 [R=301,L]


#RewriteCond %{HTTP_HOST} ^apriorico\.com$ [NC]
#RewriteRule ^(.*)$ http://www.apriorico.com/$1 [R=301,L]

#RewriteCond %{HTTP_HOST} ^www\.apriorico\.com$ [NC]
#RewriteRule ^(.*)$ http://apriorico.com/$1 [R=301,L]

#Articles rules
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^([a-z0-9\_\-]+)_([0-9]+)\.htm$ /aef29dfba6e0756258c03b760cf8ff7a.php [L]

Redirect 301 /news/new-zealand-wedding.htm http://www.apriorico.com/news/new-zealand-wedding-in-saint-petersburg.htm
Redirect 301 /trenings.htm http://www.apriorico.com/trenings/
]
#RewriteRule ^(.*)index\.htm$ $1 [R=301,L]
#RewriteRule ^(.+)\/index.html$ $1 [L,QSA]

  Ответить  
 
 автор: Sfinks   (20.06.2013 в 18:07)   письмо автору
 
   для: darkozoid   (20.06.2013 в 08:53)
 

Ну так вот же у вас редирект html стоит без внешнего редиректа (R=301). Самая последняя строка.

  Ответить  
 
 автор: darkozoid   (21.06.2013 в 09:57)   письмо автору
 
   для: Sfinks   (20.06.2013 в 18:07)
 

ну так он же закомментирован... ибо не работает....

  Ответить  
 
 автор: Sfinks   (21.06.2013 в 12:11)   письмо автору
 
   для: darkozoid   (21.06.2013 в 09:57)
 

  Ответить  
 
 автор: darkozoid   (21.06.2013 в 13:48)   письмо автору
 
   для: Sfinks   (20.06.2013 в 18:07)
 

что то тут дело не чисто
http://www.apriorico.com/places/index.htm
перенаправляется на
http://www.apriorico.com/places/

все как надо

но
http://www.apriorico.com/fotos/index.htm
открывается так как набрано
и все остальные тоже

В htaccess написал вместо 3 последних строк


RewriteCond %{HTTP_HOST} ^(.*)\/index\.htm$ [NC] 
RewriteRule ^(.*)\/index\.htm$ $1\/ [R=301,L]

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования