Не работает редирект при DirectoryIndex

sam3d

Создатель
Регистрация
5 Авг 2014
Сообщения
35
Реакции
2
Проблема, камрады:
Сайт лежит в папке site, так как ссылки по сайту в базе прописаны все именно в эту папку. Поэтому в хтацессе прописано следующее:
DirectoryIndex /site/index.php - Сайт работает, все хорошо

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} www^blablabla\.ru$ [NC]
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L] - Редирект работает, все хорошо.

Redirect 301 /?page_id=64 Для просмотра ссылки Войди или Зарегистрируйся - не работает
В чем может быть причина?
 
Redirect 301 /?page_id=64 Для просмотра ссылки Войди или Зарегистрируйся
в данном случае так) но если ты хочешь чисто на главную ищи другой вариант, моё личное предположение)
P.S> Или так попробуй
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.blablabla\.bla$ [NC]
RewriteRule ^$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
 
Redirect 301 /?page_id=64 Для просмотра ссылки Войди или Зарегистрируйся - не работает
В чем может быть причина?
Redirect 301 и RedirectPermanent не умеют обрабатывать строки с параметрами, поэтому это правило не видит этого "?page_id=64"
Напиши правило с проверкой на QUERY_STRING и всё будет работать (хоть и громоздко).
Код:
RewriteCond %{QUERY_STRING} page_id=64
RewriteRule .* http://blablabla.bla [R=301,L]

Redirect 301 /?page_id=64 Для просмотра ссылки Войди или Зарегистрируйся
Не сработает, ибо, как писал выше, редирект не увидит "page_id=64", да и "$1" в данном случае не существует...
P.S> Или так попробуй
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.blablabla\.bla$ [NC]
RewriteRule ^$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Данное правило всех посетителей которые идут на главную с www - средиректит на page_id=64 а автор не этого хотел...
 
RewriteCond %{QUERY_STRING} page_id=64 RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Спасибо, за ответ! При данном правиле получается, что он меня адресанёт на Для просмотра ссылки Войди или Зарегистрируйся , а это не то что я хотел.
По факту, нужен простой редирект в пределах одного сайта с page_id=64 на чпу
 
Redirect 301 /?page_id=64 Для просмотра ссылки Войди или Зарегистрируйся
в данном случае так) но если ты хочешь чисто на главную ищи другой вариант, моё личное предположение)
P.S> Или так попробуй
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.blablabla\.bla$ [NC]
RewriteRule ^$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Спасибо, но редирект и вправду с параметрами видимо не работает, а второй сделает совсем не то что я хотел
 
Спасибо, за ответ! При данном правиле получается, что он меня адресанёт на Для просмотра ссылки Войди или Зарегистрируйся , а это не то что я хотел.
Извини, забыл знак вопроса вконце строки поставить. Пробуй правило ниже, будет всё работать...
Код:
RewriteCond %{QUERY_STRING} page_id=64
RewriteRule .* http://blablabla.bla/? [R=301,L]

PS: данное правило будет редиректить ВСЕ страницы, у которых есть в урле ?page_id=64 на главную...
 
Извини, забыл знак вопроса вконце строки поставить. Пробуй правило ниже, будет всё работать...
Код:
RewriteCond %{QUERY_STRING} page_id=64
RewriteRule .* http://blablabla.bla/? [R=301,L]

PS: данное правило будет редиректить ВСЕ страницы, у которых есть в урле ?page_id=64 на главную...
Спасибо, о гуру модреврайта, все работает! Пойду дальше учить правила
 
Это я себя громко обозвал... У нас тут есть пользователь lag - вот он реально гуру модрерайта, такие правила пишет - чуствуешь себя полнейшим нубом :)
 
Назад
Сверху