Редирект всех страниц с /index.php на главную через .htaccess

Crazy & Co.
На сайте с 25.01.2007
Offline
221
2614

Здравствуйте, подскажите пожалуйста, что нужно прописать для редиректа всех страниц с index.php на главную? Пример:

site.ru/index.php?page=1036
site.ru/index.php?page=5022
и тд
Samail
На сайте с 10.05.2007
Offline
361
#1

А index.php это не главная? Вообще так:


RewriteCond %{THE_REQUEST} " /index.php(.*) "
RewriteRule ^ http://site.ru? [R=301,L]

Если имелось ввиду index.php с get параметрами. То так:


RewriteCond %{THE_REQUEST} " /index.php\?(.*) "
RewriteRule ^ http://site.ru? [R=301,L]
Crazy & Co.
На сайте с 25.01.2007
Offline
221
#2

Index.php главная (но сайт сайт на html), похоже был настроен редирект на http://mysite.ru/

По умолчанию у меня был такой .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L,QSA]
RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://mysite.ru/ [R=301,L]
RedirectPermanent /index http://mysite.ru/

Ваши варианты попробовал, но не помогло, просто редиректит с http://site.ru/index.php?page=1036 на =>> http://site.ru/?page=1036

Samail
На сайте с 10.05.2007
Offline
361
#3

Crazy & Co., а вы точно как написано скопировали? Ничего не удаляли показавшегося вам лишним? ...вроде вопросительного знака.

Crazy & Co.
На сайте с 25.01.2007
Offline
221
#4
Samail:
Crazy & Co., а вы точно как написано скопировали? Ничего не удаляли показавшегося вам лишним? ...вроде вопросительного знака.

Точно скопировал, единственное заменил свой домен на mysite.ru

Samail
На сайте с 10.05.2007
Offline
361
#5

Проверил на своём сайте только что. У меня нормально редиректит:

RewriteEngine on
RewriteCond %{THE_REQUEST} " /index.php\?(.*) "
RewriteRule ^ http://mysite.ru? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L,QSA]
RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://mysite.ru/ [R=301,L]
RedirectPermanent /index http://mysite.ru/
Crazy & Co.
На сайте с 25.01.2007
Offline
221
#6
Samail:
Проверил на своём сайте только что. У меня нормально редиректит:

У меня нет, значит данный .htaccess на моем сайте не работает. Ну ладно, тогда просто закрою индексацию в robots.txt для этих урлов. Спасибо за помощь.

Samail
На сайте с 10.05.2007
Offline
361
#7

Попробуйте ещё раз, хромом в режиме инкогнито и код этот вставьте сразу после RewriteEngine on. Может просто браузер закешировал прошлый редирект.

Crazy & Co.
На сайте с 25.01.2007
Offline
221
#8
Samail:
Попробуйте ещё раз, хромом в режиме инкогнито и код этот вставьте сразу после RewriteEngine on. Может просто браузер закешировал прошлый редирект.

Да, похоже вы были правы относительно кэширования браузера, редирект работает, спасибо.

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