MBo

Рейтинг
88
Регистрация
17.04.2008

RewriteRule page1.php?v=(.*) page2.php?v=$1 [L] - этот вариант работать не будет,

предложенный мною – работает, оба проверены опытным путём.

medea:
Как сделать редирект со страницы /page1.php?v=666 на страницу /page2.php?v=666, если v может быть равно чему угодно? То есть, чтобы менялся адрес скрипта, а переменная оставалась.

если вышепредложенный вариант не работает, вот рабочий:


RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteCond %{QUERY_STRING} v=(.*)
RewriteRule ^page1\.php$ /page2.php [R=301,L]

последнюю строку можно и так прописать


RewriteRule ^page1\.php$ http://domain.com/page2.php [R=301,L]


RewriteCond %{QUERY_STRING} id=25$
RewriteRule ^/?index.php$ /new-page.html? [R=301,L]

ещё возможная причина, это что-то не так с DNS, какие NS прописаны у домена – хостера или регистратора?

если регистратора, то в управлении зоной присутствует ли запись А со знаком @ и IP хостера?

по возможности урл домена киньте в личку.

так должно работать


RewriteEngine on
RewriteRule ^.htaccess$ - [F]

RewriteCond %{HTTP_HOST} ^сайт.ru
RewriteRule ^(.*)$ http://wwww.сайт.ru/$1 [R=permanent,L]

ещё вариант, нужно прописать код в начало .htaccess перед любыми правилами


Redirect 301 /stranica/index.php. http://test.com/stranica/index.php

нужно удалить эту строку


Redirect 301 /content/?id=9 http://www.site.ru/razdel/stranica/about/

и добавить после RewriteRule ^.htaccess$ - [F]


RewriteRule ^.htaccess$ - [F]
RewriteCond %{QUERY_STRING} id=9$
RewriteRule ^/?content/$ /razdel/stranica/about/? [R=301,L]

в настоящий момент при запросе урла http://rus-trip.ru/content/view/1273/2/

в хедере 302 заголовок, т.е. временный редирект, а нужен ведь постоянный – 301 ?

в целом, решение всей задачи

код в .htaccess, редирект /content/view/1273/2/ на главную и всех запросов без www. на www.


Redirect 301 /content/view/1273/2/ http://www.rus-trip.ru/
RewriteEngine on
RewriteRule ^.htaccess$ - [F]

RewriteCond %{HTTP_HOST} ^rus-trip.ru
RewriteRule ^(.*)$ http://www.rus-trip.ru/$1 [R=permanent,L]

для редиректа /index.php на http://www.rus-trip.ru/

нужно прописать следующий код в rus-trip.ru/index.php в самом начале файла, можно сразу после <?php


if($_SERVER['REQUEST_URI']=='/index.php'){header('HTTP/1.x 301 Moved Permanently');header('Location: http://www.rus-trip.ru/');exit();}

всё вышенаписанное проверил на Joomla_1.5.10, во всех случаях происходит редирект с хедером 301.

вариант 1-й: нужно удалить из .htaccess любые правила, связанные с вебфорвардингом и прописать в начало (перед любыми другими правилами) следующее:


RewriteEngine on
RewriteRule ^.htaccess$ - [F]

RewriteCond %{HTTP_HOST} ^www.site1.com
RewriteRule ^(.*)$ http://forum.site2.com/$1 [R=permanent,L]
RewriteCond %{HTTP_HOST} ^site1.com
RewriteRule ^(.*)$ http://forum.site2.com/$1 [R=permanent,L]

вариант 2-й: разделить физически два домена, файлы должны быть на forum.site2.com,

в корне домена site1.com удалить из .htaccess все правила и на выбор прописать любой из вариантов:


RedirectPermanent / http://forum.site2.com/

или


RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteRule ^(.*)$ http://forum.site2.com/$1 [R=permanent,L]

все запросы будут редиректиться с site1.com на forum.site2.com с кодом 301 в хедере,

для урла http://forum.site2.com/ лучше сразу определиться, как прописывать в .htaccess - с www. или без www.

если я правильно понял вопрос, то код ниже рабочий – проверено в лисе, опере и ие.

код css файла


html, body {
height: 100%;
}

body {
padding: 0;
margin: 0 auto;
}

html>body .external {
height: auto;
}

.external {
position: relative;
width: 100%;
height: 100%;
min-height: 100%;
padding: 0;
}

.content {
position: relative;
padding-top: 100px;
padding-bottom: 100px;
width: 900px;
left: 50%; /* центруем */
margin-left: -450px; /* центруем */
border: none;
}

.header {
background: #555555;
position: absolute;
top: 0;
padding: 0;
margin: 0 auto;
width: 100%;
height: 100px;
border: none;
}
.footer {
background: #555555;
position: absolute;
bottom: 0;
padding: 0;
margin: 0 auto;
clear: both;
width: 100%;
height: 100px;
border: none;
}

код body


<div class="external">

<div class="content">
content
</div>

<div class="header">
header
</div>

<div class="footer">
footer
</div>
</div>

если центрирование content блока не нужно, то след. строки убрать из него

width: 900px;

left: 50%; /* центруем */

margin-left: -450px; /* центруем */

и прописать эти строки

width: 100%;

margin: 0 auto;

Всего: 82