Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   realurl multidomain dublicate content (http://forum.typo3.ru/showthread.php?t=10350)

lyova 16.10.2012 18:46

realurl multidomain dublicate content
 
Есть такая проблемма. Сайт имеет два языка. Настроил для каждого языка свой домен. Соответственно для каждого языка есть для каждой страницы свой "realurl path". Например для страницы test для первого языка будет germany_domain.de/test.html а для второго соответственно english_domain.com/testeng.html
Всё работает, линки в языковом меню генерируются прекрасно. но заметил такую вещь. когда в строке наберу germany_domain.de/testeng.html или
english_domain.com/test.html (то есть использую "path" для другого языка и домена) то они работают. Как сделать чтобы работали только "path" для своего языка то есть давало ошибку(не извесный урл) или redirect на соотвующую версия(для своего языка)

Dmitry Dulepov 09.11.2012 19:54

RealURL пытается найти страницу по любому возможному пути. Так работает. Ничего тут не поделаешь.

lyova 12.11.2012 16:14

Спасибо за ответ.

lyova 27.11.2012 12:15

У меня возник ещё один вопрос связанный с realurl. Когда я создавал страницу, то в параметрах страницы(Page Title) я писал название(допустим test), то соответственно realurl генерировал линк как test.html Всё было прекрасно. Гугл проиндексировал сайт. соответсвенно у него в базе были линки на domain.com/test.html
Теперь по SEO соображениям в параметрах страниц были добавлены в поле "Speaking URL path segment:" другие названия. Например "page test". Соответственно realurl начал генерировать ссылки
domain.com/page-test.html
Но при этом линк domain.com/test.html тоже продолжает работать. соответственно в получается dublicate content. Вопрос: как сделать так чтобы при вводе линка domain.com/test.html если есть значение поля "Speaking URL path segment:" то делало редирект на линк domain.com/page-test.html
Я уже думал что можна для всех страниц(тех что были создани без значения "Speaking URL path segment:" вначале) писать редиректы в htaccess но страниц очень много, может есть какой то общий способ?

dmartynenko 27.11.2012 13:01

На сколько я знаю, эта проблема "автоматически" не решаема. Если переименовали страницу - значит она будет доступна по новому адресу. По старому также будет, пока кэши RealURL не вычислите.

Если только один вспомогательный механизм в RealURL - лог 404 ошибок. Из него можно отсутствующие, но запрашиваемые из вне URL преобразовать в 301 редиректы на новые URL. Но это все делается вручную.

Но и тут надо понимать, что использование аналогичного ручного редиректа через .htaccess предпочтительней по скорости и ресурсам.

lyova 27.11.2012 13:27

Цитата:

Сообщение от dmartynenko (Сообщение 35006)
Если переименовали страницу - значит она будет доступна по новому адресу. По старому также будет, пока кэши RealURL не вычислите.

Спасибо за ответ. Но я не переименовывал страницу. я просто дополнительно заполнил в параметрах страницы значение "Speaking URL path segment:", а само название страницы "Page Title" осталось таким как и было. Но RealURL при генерации линков отдаёт предпочтение параметру "Speaking URL path segment:" перед параметром "Page Title". По этому запрашемая страница вида domain.com/test.html не будет отсутствующей и соответственно не будет в логах. Она будет доступна как бы по двум линкам старом(который проиндексирован гуглом и выдается в поиске) и новом (который теперь генерится на сайте).

dmartynenko 27.11.2012 13:37

Цитата:

Сообщение от lyova (Сообщение 35008)
Но RealURL при генерации линков отдаёт предпочтение параметру

В конфиге RealURL задается какие поля использовать и в каком порядке.

lyova 27.11.2012 13:56

Цитата:

Сообщение от dmartynenko (Сообщение 35009)
В конфиге RealURL задается какие поля использовать и в каком порядке.

Значит может там и можно будет настроить редирект для всех стриниц с domain.com/Page Title на domain.com/Speaking URL path segment (если Speaking URL path segment заполнен).

dmartynenko 27.11.2012 14:04

Нет, нельзя будет. Посмотрите typo3conf/realurl_conf.php.

Суть в том что нигде нет истории какой был урл раньше, а какой сейчас. Поэтому никакой автоматической настройки редиректа не сделать.

Выше я писал что в кэшах RealURL (а именно в таблице tx_realurl_pathcache) может сохранятся несколько синонимов (alias) для одной страницы. Но сохраняется он там до чистки этих самых кэшей. И там нет никакой временной метки что бы различить какой синоним актуальный, а какой нет.

Теоритически RealURL может добавлять метку времени в tx_realurl_pathcache и делать редирект со старых на новые. Но эта фишка требует доработки RealURL.

PS: Обращайтесь к Дмитрий Дулепову, и готовьте бабки :)

lyova 27.11.2012 14:14

Ну что ж ничего не поделаеш придётся или прописывать все редиректы в htaccess или попробовать модифицировать чтото в рнр коде realurla (проверять заполнен ли параметр). Если хватит умения конешно :)


Часовой пояс GMT +4, время: 00:27.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot