X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Трудности с .htaccess
OutLooker
OutLooker
Topic Starter сообщение 22.8.2013, 19:20; Ответить: OutLooker
Сообщение #1


Частый гость
**

Группа: User
Сообщений: 94
Регистрация: 11.1.2013
Из: Новосибирск
Поблагодарили: 10 раз
Репутация:   3  


Добрый день.

Может задаю тривиальный вопрос, но пока не совсем разобрался в работе RewriteRule, RewriteCond файла .htaccess

На мой сайт несть несколько ссылок вида _http://site.ru/index.html

а сам сайт на php, и по такой ссылке открывается страница с ошибкой 404

Я хочу, чтобы ссылка _http://site.ru/index.html вела на главную страницу _http://site.ru/

Что для этого надо добавить в .htaccess?

Спасибо.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rom_4
rom_4
сообщение 22.8.2013, 19:32; Ответить: rom_4
Сообщение #2


трафа много не бывает
******

Группа: Active User
Сообщений: 1451
Регистрация: 9.7.2010
Из: Россия
Поблагодарили: 551 раз
Репутация:   62  


OutLooker, закройте /index.html в роботсе да и все. Если ее в поиске не будет, то случайно на нее никто не попадет. Только если ручками вбивать специально.

п.с пропустил что уже ссылки есть, голова не варит. а если попросить тех кто ссылки ставил их изменить?

Сообщение отредактировал rom_4 - 22.8.2013, 19:33


--------------------
Зарабатываю тут, тут и тут
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Aleksandrometr
Aleksandrometr
сообщение 22.8.2013, 20:13; Ответить: Aleksandrometr
Сообщение #3


I ♥ BassBoosted
*****

Группа: Active User
Сообщений: 544
Регистрация: 23.8.2012
Поблагодарили: 203 раза
Репутация:   77  


Попробуйте так:
RewriteEngine On
RewriteRule ^index.html$ / [R]


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OutLooker
OutLooker
Topic Starter сообщение 23.8.2013, 2:37; Ответить: OutLooker
Сообщение #4


Частый гость
**

Группа: User
Сообщений: 94
Регистрация: 11.1.2013
Из: Новосибирск
Поблагодарили: 10 раз
Репутация:   3  


Aleksandrometr, спасибо, но не помогло.

Вроде если сделать так:
RewriteRule ^index.html$ /index.php [L,NC]

, то должно переадресовывать на index.php, тут ошибаться-то негде. Наверное что-то мешает в остальном содержимом .htaccess

Всё-таки надеюсь, что найдётся знающий человек и подскажет. На всякий случай привожу свой .htaccess полностью.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
RewriteRule ^index.html$ /index.php [L,NC]

</IfModule>

# END WordPress


Всё работает кроме этой строчки ^index.html$ /index.php

Ещё немного помучился и сделал.
Всё, проблема решена, спасибо!

Сообщение отредактировал OutLooker - 23.8.2013, 2:37


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ortero
Ortero
сообщение 23.8.2013, 8:08; Ответить: Ortero
Сообщение #5


\m/_ _\m/
******

Группа: Active User
Сообщений: 1890
Регистрация: 23.2.2012
Поблагодарили: 837 раз
Репутация:   99  


OutLooker, вы бы отписали, как сделали, чтобы потом остальные не мучались.


--------------------
Бегет - просто хороший хостинг, который еще и ssl-сертификат бесплатно дает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Adriano_123
Adriano_123
сообщение 23.8.2013, 11:58; Ответить: Adriano_123
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 299
Регистрация: 31.1.2011
Из: Витебск
Поблагодарили: 94 раза
Репутация:   25  


Вот код для редиректа с index.html на главную:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OutLooker
OutLooker
Topic Starter сообщение 24.8.2013, 1:53; Ответить: OutLooker
Сообщение #7


Частый гость
**

Группа: User
Сообщений: 94
Регистрация: 11.1.2013
Из: Новосибирск
Поблагодарили: 10 раз
Репутация:   3  


Ortero, отписываюсь. Я просто перенёс строку RewriteRule ^index.html$ /index.php в своём файле сразу после RewriteBase /, на сёрче посоветовали. Получилось следующее:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.html$ /index.php [R,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

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

</IfModule>

# END WordPress


Правда я пока ещё не очень понимаю разницу, но заработало.

Adriano_123, Вы не монли бы подробнее объяснить свой код, просто хочу научиться разбираться в .htaccess, но многое нигде не описано. Вот например, почему недостаточно просто строки
RewriteRule ^index\.html$ / [R=301,L]
, ведь она и делает редирект с index.html на / (главную). А что делает строка
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
?

Спасибо.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Проблема с 301 редиректом в htaccess
не срабатывает с (без www) на www
14 danc1r0k 1991 2.11.2017, 14:44
автор: vadosseo
Открытая тема (нет новых ответов) Редирект в ModX через .htaccess коряво работает
9 kstnews 689 15.10.2017, 21:12
автор: x64
Открытая тема (нет новых ответов) Наладить htaccess на Wordpress
2 LebedevStr 550 25.5.2017, 14:14
автор: LebedevStr
Открытая тема (нет новых ответов) как поставить запрет на папку Dle Htaccess?
1 gemkeepers 1655 30.1.2010, 0:01
автор: n1tr1k


 



RSS Текстовая версия Сейчас: 16.12.2017, 17:09
Дизайн