Перейти к содержимому


Фотография
- - - - -

помогите разобратся с rewrite


  • Пожалуйста, авторизуйтесь, чтобы ответить
6 ответов в этой теме

#1 Dnny

Dnny

    Создатель миров

  • True Members
  • PipPipPipPipPip
  • 3 385 сообщений
8
Обычный
  • Пол:Мужчина
  • Город:Казакова 32/191
  • Интересы:Создание и сопровождение параллельных миров.

Опубликовано 27 Январь 2009 - 05:38

ситуация такая. есть 4 домена. для того чтоб поисковики не разделяли их на с www и без в .htaccess сделал так:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ufneva.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufneva.spb.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufnewa.spb.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufnewa.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]

это все работает замечательно. проблема лишь в том, что при наборе в браузере www.ufneva.ru надо чтоб редиректило на www.ufneva.ru/about.html и также с остальными... вот не могу понять как это сделать...
  • 0
Моб: +7911-849-10-39 | Домашний: 8(812)743-47-22 | Блог: D'nnyRU | Skype: DnnyRU | ICQ: 960750

#2 Tele2

Tele2

    =)

  • True Members
  • PipPipPipPipPip
  • 898 сообщений
0
Обычный
  • Пол:Мужчина
  • Город:Санкт-Петербург

Опубликовано 27 Январь 2009 - 11:35

Ты по хосту редиректишь, правило на страницы не распространяются.

попробуй так:
RedirectMatch index\.html$ about.html
или
Redirect temp /index\.html about.html


Или проще сделать на php.
  • 0

#3 Serge

Serge

    Одмин

  • Admin
  • PipPipPipPipPip
  • 7 117 сообщений
9 044
Очень хороший
  • Пол:Мужчина
  • Город:Питер

Опубликовано 27 Январь 2009 - 11:42

На этом сайте такой рул:

  RewriteEngine On

  RewriteCond %{HTTP_HOST} ^www\.swnet\.spb\.ru$
  RewriteRule (.*) http://swnet.spb.ru/$1 [R=301,L]

А стартовую страницу можно редиректить скриптом как написали выше.
  • 0
ftp://10.128.1.5 (новый мега сервер на 38TB)

#4 Dnny

Dnny

    Создатель миров

  • True Members
  • PipPipPipPipPip
  • 3 385 сообщений
8
Обычный
  • Пол:Мужчина
  • Город:Казакова 32/191
  • Интересы:Создание и сопровождение параллельных миров.

Опубликовано 27 Январь 2009 - 14:01

Ты по хосту редиректишь, правило на страницы не распространяются.

попробуй так:
RedirectMatch index\.html$ about.html
или
Redirect temp /index\.html about.html
Или проще сделать на php.

при первом ничего не происходит, а при втором сайт вообще не грузится.
  • 0
Моб: +7911-849-10-39 | Домашний: 8(812)743-47-22 | Блог: D'nnyRU | Skype: DnnyRU | ICQ: 960750

#5 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 27 Январь 2009 - 16:07

RewriteRule ^/$ about.html [QSA]
RewriteRule ^$ about.html [QSA]
  • 0

#6 Tele2

Tele2

    =)

  • True Members
  • PipPipPipPipPip
  • 898 сообщений
0
Обычный
  • Пол:Мужчина
  • Город:Санкт-Петербург

Опубликовано 27 Январь 2009 - 16:38

А зачем собственно париццо?
1) .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ufneva.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufneva.spb.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufnewa.spb.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^ufnewa.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]
Directoryindex index.php
2) index.php
<?
$server = $_SERVER['SERVER_NAME'];
$path = 'about.html';
header('location: http://'.$server.'/'.$path);
?>

Вот как-то так
  • 0

#7 Dnny

Dnny

    Создатель миров

  • True Members
  • PipPipPipPipPip
  • 3 385 сообщений
8
Обычный
  • Пол:Мужчина
  • Город:Казакова 32/191
  • Интересы:Создание и сопровождение параллельных миров.

Опубликовано 27 Январь 2009 - 16:47

всем спасиб. проблема решена.
при таком коде:
RewriteCond %{HTTP_HOST} ^ufneva.ru
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]

выводило:
http://www.ufneva.ru/about.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.htmlabout.html

как оказалось потому что в строках редиректа на страницу:
RewriteRule (.*) http://www.ufneva.ru/about.html$1 [R=301,L]

символ:
$1

означает повторить параметр
поэтому проблема решена хоть и длинным но кодом:

RewriteCond %{HTTP_HOST} ^ufneva.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

RewriteCond %{HTTP_HOST} ^ufneva.spb.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

RewriteCond %{HTTP_HOST} ^www.ufneva.spb.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

RewriteCond %{HTTP_HOST} ^ufnewa.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]


RewriteCond %{HTTP_HOST} ^www.ufnewa.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

RewriteCond %{HTTP_HOST} ^ufnewa.spb.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

RewriteCond %{HTTP_HOST} ^www.ufnewa.spb.ru$
RewriteRule (.*) http://www.ufneva.ru/about.html [R=301,L]

счас все работает. :)
  • 0
Моб: +7911-849-10-39 | Домашний: 8(812)743-47-22 | Блог: D'nnyRU | Skype: DnnyRU | ICQ: 960750


Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей