Помогите правильно прописать перенаправление со страницы сайта на главную в htaaccess

oleg1979
На сайте с 23.07.2010
Offline
187
1141

Яша проиндексировал уникальную информационную статью и упорно по коммерческому СЧ выдает ее, а не морду, при том что CTR в разы ниже.

В итоге статью вчера убрал, бился с 301 редиректом - ни как не хочет работать. Помогите пожалуйста правильно прописать rewrite 301 на морду со страницы статьи:

Мой htaaccess:

php_value display_errors 1

php_value error_reporting 2047

# WebAsyst .htaccess config

AddDefaultCharset UTF-8

DirectoryIndex index.php

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]

RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteRule ^en(.*)$ http://site.ru$1 [R=301,L]

RewriteCond %{HTTP_HOST} !site.ru$ [NC]

RewriteRule ^(.*)$ - [F]

RedirectPermanent /statyi/ http://site.ru это последняя версия редиректа, которую я пробовал, тоже не заработала..

Консультирую по всем вопросам, связанным с запуском интернет-магазина
siv1987
На сайте с 02.04.2009
Offline
427
#1

RewriteRule ^statyi/ / [R=301,L]

oleg1979
На сайте с 23.07.2010
Offline
187
#2

siv1987,

спасибо, но не сработало. выдает 404 ошибку.

поместил вашу строку сразу за "RewriteRule ^(.*)$ - [F]"

[Удален]
#3

Redirect 301 /statyi/ http://ваш-site.ru

DiAksID
На сайте с 02.08.2008
Offline
236
#4

аналог вашего htaccess в "приличном" виде:


php_value display_errors 1
php_value error_reporting 2047
#
AddDefaultCharset UTF-8
#
DirectoryIndex index.php
#
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#
RewriteCond %{HTTP_HOST} ^en\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#
RewriteRule "(^|/)\." - [F]
#
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ \/index\.php\ HTTP\/
RewriteRule ^index\.php$ http:\/\/%{HTTP_HOST}\/ [R=301,QSA,L]
#
RewriteRule ^statyi/$ / [R=301,L]
</IfModule>

попробуйте просто скопипастить (в этом варианте указывать домен не нужно нигде)...

show must go on !!!...
oleg1979
На сайте с 23.07.2010
Offline
187
#5

попробовал две последние версии, не работает (кэш обновлял).

посмотрите плиз тогда сам сайт, я совершенно не понимаю в чем дело.

sunnyvilla.ru

Полная версия файла сейчас такая:


php_value display_errors 1
php_value error_reporting 2047
#
AddDefaultCharset UTF-8
#
DirectoryIndex index.php
#
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#
RewriteCond %{HTTP_HOST} ^en\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#
RewriteRule "(^|/)\." - [F]
#
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ \/index\.php\ HTTP\/
RewriteRule ^index\.php$ http:\/\/%{HTTP_HOST}\/ [R=301,QSA,L]
#
RewriteRule ^statyi/$ / [R=301,L]
</IfModule>

#shop
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^shop/(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^shop/(imgval.php|wbs_messageserserver.php) published/SC/html/scripts/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(imgval.php|wbs_messageserserver.php|get_file.php) published/SC/html/scripts/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^shop(.*) published/SC/html/scripts/$1&frontend=1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/(album|view)/(.*) photos/index.php?q=$1/$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/fullsize/(.*)/(.*) photos/fullsize.php?filename=$1&hash=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/(.+)$ photos/index.php?q=$1 [L,QSA]

#common
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^login/(.*) login/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^installer/(.*) installer/index.php [L]

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^published
RewriteRule (.*) published/SC/html/scripts/index.php?__furl_path=$1&frontend=1 [QSA]
siv1987
На сайте с 02.04.2009
Offline
427
#6
oleg1979:
спасибо, но не сработало. выдает 404 ошибку.
поместил вашу строку сразу за "RewriteRule ^(.*)$ - [F]"

Естественно не сработает, это правило вырубает все запросы и после нее ничего исполнятся не будет. Как минимум надо перед ней вставить, а лучше сразу после r-engine

Кстати, я что-то ее в последней версией не вижу. А RewriteRule "(^|/)\." - [F] вообще непонятно что

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