0 Пользователей и 1 Гость просматривают эту тему.
  • 38 Ответов
  • 5974 Просмотров
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Прочитал пол интернета, перепробовал 100 вариантов, а редирект не работает хоть ты тресни и не знаю в чем причина., вообще хочу просто сделать редирект с одной страницы сайта на другую страницу того же сайта., У меня стоить Joomla 1.7, файл в .htaccess переименовал, сам сайт находится на Денвере, а SEO настройки в админке выглядят вот так:


P.S Скажите пожалуйста что прописать в .htaccess и в каком точно месте?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
компоненты / перенаправления

А вообще пользовательские редиректы прописываются в этой области
Код
## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects
« Последнее редактирование: 09.02.2012, 07:57:19 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Походу все дело было в том что для осуществления редиректа конечная ссылка не должна была быть 404 страницей, так как я просто экспериментировал., потом обязательно нужно было чистить кэш браузера, без этого тоже не фига., а может быть тут еще дело и в том что сайт на локалке, так как на хостинге редирект работает., пока что еще не пробовал в .htaccess, а только в строенной плагине., в общем спасибо но с горем по полам работает +1 ^-^

P.S Только вот не понятно зачем Joomla автоматически на создавала в этом плагине отключенных и не полных редиректов, кто-нибудь знает как это остановить, чтобы больше автоматом не создавались редиректы? А еще лучше как-нибудь удалить весь этот мусор вместе с id...
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Нашел способ как отчистить все автоматом созданные редиректы - для особых параноиков: ^-^
Заходим в базу и удаляем таблицу ПрефиксБазы_redirect_links, затем в SQL окно вставляем следующее (заменив лишь ПрефиксБазы):
Код
CREATE TABLE IF NOT EXISTS `ПрефиксБазы_redirect_links` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `old_url` varchar(255) NOT NULL,
  `new_url` varchar(255) NOT NULL,
  `referer` varchar(150) NOT NULL,
  `comment` varchar(255) NOT NULL,
  `published` tinyint(4) NOT NULL,
  `created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_link_old` (`old_url`),
  KEY `idx_link_modifed` (`modified_date`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

И все Joomla чиста от всяких бук и бяк в плагине перенаправления ^-^

P.S Но иначе с базами лучше так не играть, так как там по мимо одиночных таблиц есть таблицы которые связаны между собою и может получится полная ж...а
« Последнее редактирование: 09.02.2012, 12:25:08 от ABCroNews »
*

Pazys

  • Завсегдатай
  • 1740
  • 241 / 4
  • <a>А где я ошибся-то?</b>
RedirectPermanent /старая_ссылка http://сайт.ru/новая_ссылка

Я так делал редирект - работало.

Это в хтацес
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Не подскажите еще можно ли через встроенный плагин задать редирект с нескольких ссылок на главную., то есть нужно чтобы со всех ссылок типа http://site.com/shop/product/ajax_attrib_select_and_price/106.html?ajax=1 осуществлялся редирект на главную, то есть на http://site.com/ Или подскажите что прописать в .htaccess для такого редиректа, не хватает знаний в области mod_rewrite

Пробовал RewriteRule ^/shop/product/ajax_attrib_select_and_price/$ http://site.com/ [R=permanent] - что не к чему не привело :(
*

Pazys

  • Завсегдатай
  • 1740
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Ну а так, как я написал постом выше, попробуй ... у меня редиректит.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Ну а так, как я написал постом выше, попробуй ... у меня редиректит.
да но в этом случае мне нужно редерекнуть не одну ссылку на другую а массив /shop/product/ajax_attrib_select_and_price/... на главную

Сделал вот так RedirectPermanent /shop/product/ajax_attrib_select_and_price/ http://site.com/ и получил редирект вида http://site.com/106.html?ajax=1 но это не то

Какой знак отвечает за последовательность любых символов? Например в robots.txt это звездочка *, а тут что? !
« Последнее редактирование: 09.02.2012, 18:37:08 от ABCroNews »
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Посмотри здесь http://designn.org.ua/ru/blog/php/138.htm
« Последнее редактирование: 09.02.2012, 19:49:04 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Посмотри здесь http://designn.org.ua/ru/blog/php/138.htm
Наверное я вообще не врубаюсь в эти редиректы, так как перепробовал 1000 вариантов и потратил на это целый день (( Вот мой .htaccess может кто-нибудь сможет помочь буду очень признателен:
Код
##
# @version $Id: htaccess.txt 21101 2011-04-07 15:47:33Z dextercowley $
# @package Joomla
# @copyright Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.com
RewriteRule (.*) http://site.com/$1 [R=301,L]

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

Хотелось бы чтобы со всех ссылок вида:
http://site.com/shop/product/ajax_attrib_select_and_price/106.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/107.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/108.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/100.html?ajax=1
... итп производился редирект на главную, разбил уже все мозги, прочитал пол интернета но логики работы .htaccess так и не понял crazy!
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
проверяй у меня работает )))

Спойлер
[свернуть]

смотри строки 50 и 51 ВАШ САЙТ.ru заменишь на свой

P.s все url содержащие в запросе ajax_attrib_select_and_price будут переброшены на главную
« Последнее редактирование: 10.02.2012, 04:34:10 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
проверяй у меня работает )))
заменил свой .htaccess ваш, в результате целый сайт стал выдавать ошибку:
Код
500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@site.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Да в чем же дело черт возьми с этим злощавым .htaccess >:(
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Это твой htaccess я просто добавил две строки
Код
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule ^index\.php$ http://ВАШ САЙТ.ru [R=301,L]

а ты заменил ВАШ САЙТ на адрес своего сайта
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
а ты заменил ВАШ САЙТ на адрес своего сайта
ой... дико извиняюсь, просто от стольких попыток уже тупить начал)) редирект работает отлично, только почему то с "***ссылки" перебрасывает на http://site.com/?ajax=1 Можно ли как-нибудь еще и это окончание убрать?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Прочисть весь кеш на сайте и в браузере
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Прочисть весь кеш на сайте и в браузере
Все кеши перечистил, но окончание по прежнему добавляется, у вас оно не добавляется?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Нет.  У меня http://site.ru и всё
Я не совсем понимаю зачем тебе этот редирект (может все на много проще чем ты выдумываешь)
« Последнее редактирование: 10.02.2012, 19:18:04 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Нет.  У меня http://site.ru и всё
Проверил с другого компа, там тоже с окончанием http://site.com/?ajax=1
Я не совсем понимаю зачем тебе этот редирект (может все на много проще чем ты выдумываешь)
Просто для оптимизации мне нужно было поменять названия некоторых ссылок, но проблема в том что эти ссылки уже попали в Гугл
Вот я и решил переименовать ссылки и сделать редирект со старых адресов на новые, а еще старые адреса я запретил в robots.txt
Другого решения проблемы со ссылками к сожалению не знаю

P.S Для того чтобы вес не уходил ^-^

« Последнее редактирование: 10.02.2012, 19:29:58 от ABCroNews »
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Ну если их больше нет надо 404 а лучше 410 отдавать а не 301 редирект
Коды HTTP


Цитировать
'gone|G' (делает URL «мёртвым»)

Этот флаг делает текущий URL «мертвым», т.е., немедленно отправляется HTTP ответ со статусом 410 (GONE). Используйте этот флаг для маркировки «мертвыми» не существующие более страницы.
« Последнее редактирование: 10.02.2012, 19:49:00 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Ну если их больше нет надо 404 а лучше 410 отдавать а не 301 редирект
интересно... то есть в моем случае лучше тогда написать вот так?:

RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule ^index\.php$ http://ВАШ САЙТ.ru [R=410,L]

Или куда точно этот 410 (GONE) необходимо вставить?

P.S Там как же пишет, мол если ресурс был окончательно перемещен, следует использовать код 301, указав новое местоположение ресурса
« Последнее редактирование: 10.02.2012, 20:14:35 от ABCroNews »
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Код
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule .* - [G,L]

 эта строка больше не нужна
# RewriteRule ^index\.php$ http://ВАШ САЙТ.ru [R=410,L]

P.s. если хочешь запиши (весь этот редирект) куда не будь как образец
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule .* - [G,L]
К сожалению браузер выдает следующую ошибку:
Код
Gone

The requested resource
/shop/product/ajax_attrib_select_and_price/30.html
is no longer available on this server and there is no forwarding address. Please remove all references to this resource.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Ну первую ошибку он выдает правильно
Цитировать
Gone

Запрашиваемый ресурс
/ shop/product/ajax_attrib_select_and_price/30.html
больше не доступна на этом сервере, и такого адреса нет. Пожалуйста, удалите все ссылки на этот ресурс.
а вторая ошибка наверное флаг [L] вызывает
Цитировать
'last|L [=code]'
(последнее правило)
Остановить процесс преобразования на этом месте и не применять больше никаких правил преобразований. Используйте этот флаг для того, чтобы не преобразовывать текущий URL другими, следующими за этим, правилами преобразований.
Не пускает на 404 страницу (сам хоть немного читай )
Цитировать
Кроме того, 500 Внутренняя ошибка сервера Ошибка обнаружена при попытке использовать ErrorDocument для обработки запроса.
убери его сделай так
Код
RewriteRule .* - [G]
даже если вторая ошибка останется это ничего страшного главное что поисковики получают указание (удалите все ссылки на этот ресурс)

P.s. А что это за ссылка ?/ shop/product/ajax_attrib_select_and_price/30.html, это якобы твои новые оптимизированные ссылки? если это так то читай внимательно что я написал в htaccess
« Последнее редактирование: 11.02.2012, 01:15:01 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Ну первую ошибку он выдает правильно а вторая ошибка наверное флаг [L] вызывает (не пускает на 404 страницу) убери его
Убрал "L" оставил "G" к сожалению так же не помогло
P.s. А что это за ссылка ?/ shop/product/ajax_attrib_select_and_price/30.html, это якобы твои новые оптимизированные ссылки?
Это некие левые ссылки которые по непонятной причине делает JoomShoping и которые извиняюсь застрали весь индекс, вот и хочу их всех перенаправить на главную, а иначе их уже запретил в robots.txt., полные ссылки выглядит примерно так:
http://site.com/shop/product/ajax_attrib_select_and_price/106.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/107.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/108.html?ajax=1
http://site.com/shop/product/ajax_attrib_select_and_price/100.html?ajax=1
и сама страница не дает ошибку а тоже открывается с непонятной частью программного кода, то ли с какими то вычислениями на белом фоне, то есть это не 404 страницы

С редиректом
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule ^index\.php$ http://site.com/ [R=301,L]
почему то получается результат http://site.com/?ajax=1 но главная отображается нормально, то есть окончание ссылки ?ajax=1 не влияет на отображение страницы  
« Последнее редактирование: 11.02.2012, 01:19:46 от ABCroNews »
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Да нахер тебе нормальное отображение тебе надо что бы поисковики выплюнули эти ссылки
Ты хоть что то читаешь ?
301 (окончательно перемещено) а не удалено
и такое количество 301 редиректа может показаться поисковикам подозрительным )))

мой совет делай так
Код
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule .* - [G]
« Последнее редактирование: 11.02.2012, 01:25:34 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Да нахер тебе нормальное отображение тебе надо что бы поисковики выплюнули эти ссылки
Ты хоть что то читаешь ?
301 (окончательно перемещено) а не удалено
и такое количество 301 редиректа может показаться поисковикам подозрительным )))
Блин... я не то что не знаю как управлять с .htaccess я еще и не могу понять его логику.,
хорошо напиши пожалуйста конечный код который бы помог выплюнуть ссылки, а то голова уже кругом

Сделал так как ты сказал, вместо редиректа выводит сообщение описанное мною выше, но сам сайт отлично работает и отображается ^-^

И вот еще тогда что не понятно, в строенном плагине от Joomla там что редирект 301?
« Последнее редактирование: 11.02.2012, 01:33:02 от ABCroNews »
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
вот
Код
RewriteCond %{THE_REQUEST} ^.*/ajax_attrib_select_and_price/(.*)$
RewriteRule .* - [G]
____________________________________________________________________
Цитировать
И вот еще тогда что не понятно, в строенном плагине от Joomla там что редирект 301?
скорей всего да. Проверь
Понимаешь плагин редиректит разные ссылки и не на главную а просто меняет адрес страницы
а у тебя получается очень много и все на главную
« Последнее редактирование: 11.02.2012, 01:50:25 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Понимаешь плагин редиректит разные ссылки и не на главную а просто меняет адрес страницы
а у тебя получается очень много и все на главную
Блин точно, не подумал об этом., скажи я вот запретил ссылки в роботе и еще сделал редирект каждой через плагин на новые адреса., я правильно сделал для того чтобы они тоже удалились из индекса или их просто можно запретить в роботе и ждать?

Просто по логике вещей если их просто запретить в роботе и задать новые ссылки на сайте, тогда Гоша должен занести новые адреса в индекс а с тем самым дублировать контент, потом посетители тоже тыкают на старые адреса и поподают на 404 тоже не хорошо., вот и решил не просто в роботе их запретить а еще и редерекнуть
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Ты е..шься уже два дня за это время прописал бы все их в плагине с нормальным редиректом
со старой ссылки на новую а не на главную страницу )) с редиректом на главную увеличится число отказов
Посмотри какой код отдает редирект с помощью плагина а то у меня нет установленной 1,7+ (точнее есть но она голая)
« Последнее редактирование: 11.02.2012, 02:04:10 от oriol »
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Ты е..шься уже два дня за это время прописал бы все их в плагине с нормальным редиректом
со старой ссылки на новую а не на главную страницу )) с редиректом на главную увеличится число отказов
Ссылок очень много таких было, даже например сам адрес http://site.com/shop/product/ajax_attrib_select_and_price/106.html?ajax=1 говорит о том что где то еще есть 105 и больше ссылок) Я сделал как ты посоветовал, потом ты же сам сказал что мне лучше не редирект 301 а заблокировать страницу с ошибкой "Gone 500" или как там ее., потом вот еще на что наткнулся http://www.vashmaster.ru/informaciya/o_prodvizhenii_saytov/news158.php но опять же там не описывается как это можно сделать

У меня есть ссылки двух видов:
1) Мусорные которые мы просто запретили
2) Старые которые мы редерукнули на новые через плагин

P.S Я понял так что через плагин можно просто тупо перенаправить один адрес на другой, там вроде не возможны ни какие другие сложные операции

Посмотри какой код отдает редирект с помощью плагина а то у меня нет установленной 1,7+ (точнее есть но она голая)
Плагин просто перенаправляет старые адреса на новые и не какой код он не отдает
« Последнее редактирование: 11.02.2012, 02:13:36 от ABCroNews »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где может быть редирект

Автор KALIBUS

Ответов: 4
Просмотров: 299
Последний ответ 12.04.2020, 21:25:26
от SeBun
htaccess редирект с страницы на страницу только для поисковых ботов

Автор wishlight

Ответов: 1
Просмотров: 440
Последний ответ 13.11.2019, 18:28:35
от voland
Как сделать правильный редирект

Автор gadjet

Ответов: 19
Просмотров: 10229
Последний ответ 27.11.2018, 10:37:08
от mlukyanov
[Joomla 3.8.0] Редирект с id на БЕЗ id

Автор ELLE

Ответов: 14
Просмотров: 2268
Последний ответ 31.07.2018, 14:43:14
от korkka44
Как сделать 301 редирект (сложный случай)?

Автор Roinmana

Ответов: 5
Просмотров: 762
Последний ответ 31.07.2018, 08:03:56
от Roinmana