Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
18.01.2011, 14:14 | #1 |
Продвинутый
Регистрация: 20.11.2010
Сообщений: 40
|
Сделать правильнее сделать 301 Moved Permanently
Всем привет))
Перенес сайт с cms написанной на .Net на Typo3. Все страницы раньше имели путь типа site.ru\contact.aspx , сейчас структура сайта такая же только расширение разное, с aspx поменялось на html. Так как сайту уже год, поисковики уже проиндексировали сайт. Т.е. хочется чтобы при запросе скажем site.ru\contact.aspx typo3 выдавала 301 Moved Permanently и перекидывал на site.ru\contact.html т.е. просто достаточно менять с aspx на html т.к. структура осталась такая же. Как это лучше реализовать? К typo3 прикручен realurl. |
18.01.2011, 17:22 | #2 |
Продвинутый
Регистрация: 20.11.2010
Сообщений: 40
|
сделал вот так, добавил в index.php
PHP код:
RewriteBase / RewriteRule ^(.*)\.aspx$ $1.html [R=permanent,L] Последний раз редактировалось musson; 18.01.2011 в 17:44 |
19.01.2011, 02:50 | #3 |
Senior Member
|
Редиректы самого сервера работают быстрее и не надо ничего менять в ядре системы.
|
05.04.2011, 19:31 | #4 |
Senior Member
|
Обнаружилась проблема с новым RealURL.
Одинаковый контент выдается как для урлов вида page/ и page.html Раньше это решалось установкой в конфиге acceptHTMLsuffix = 1, но в последних версиях этот параметрв хоть и объявляется и описан в доке, но реально в коде не учитывается. Похоже что "принятие" урлов с .html зашито в коде, так как другие урлы, например .htm выдают 404 ошибку. Попробовал в .htaccess такое решение: Код:
RewriteBase / RewriteRule ^(.*)\.html$ $1/ [R=permanent,L] Что посоветуете? Updated: единственное что пока удалось сделать что бы все работало - поменять print.html на print.htm Последний раз редактировалось dmartynenko; 05.04.2011 в 19:48 |
06.04.2011, 19:19 | #5 |
Senior Member
|
А если этот самый атрибут print транслировать просто в /адрес_страницы/ptint/ ?
|
06.04.2011, 19:38 | #6 |
Senior Member
|
Не получиться в .../print/
Так как RealURL умеет добавлять фиксированные переменные только в начало пути, т.е. /en/... или /print/... Добавить "в самый конец" можно только опцией fileName. Ну, вообщем, для конечного пользователя нет разницы как выглядит урл, можно и так и эдак сделать. Самое главное, что для SEO плохо что page/ и page.html выдают одно и тоже, а это поведение что называется "из коробки". |
07.04.2011, 19:46 | #7 |
Senior Member
|
Мой конфиг по основным параметрам (исключения то что в ветке выше) идентичен тому, что предлагает autoconfig
PHP код:
|
10.04.2011, 18:35 | #8 |
Senior Member
|
Проверил на паре сайтов. Везде обновился до последних версий всех плагинов и переводов.
Результаты: Сайт сконфигурированный на использование суффикса - www.rzhevrealty.ru На самом деле адрес воспринимается и с суффиксом и без и адрес приводит к одной и той же странице. Сайт сконфигурированный на использование без суффикса - www.jawaclub.ru При использовании суффикса выдается 404-я ошибка и страница этой ошибки. |
11.04.2011, 12:51 | #9 |
Senior Member
|
Можете выложить конфиг для RealURL второго сайта (только его начало)?
У вас там кстати есть SEO-недоработка, урл со слэшем в конце и без него выдают одно и тоже: http://www.jawaclub.ru/prosmotr-novosti http://www.jawaclub.ru/prosmotr-novosti/ |
11.04.2011, 16:30 | #10 |
Senior Member
|
Этот конфиг стопроцентно не мой собственный, брал его вроде бы из wiki.typo3.org давным давно и с тех пор если и менял, то крайне незначительно:
Код:
<?php $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array( '_DEFAULT' => array( 'init' => array( 'enableCHashCache' => 1, 'appendMissingSlash' => 'ifNotFile', 'enableUrlDecodeCache' => 1, 'enableUrlEncodeCache' => 1, ), 'redirects' => array(), 'preVars' => array( array( 'GETvar' => 'no_cache', 'valueMap' => array( 'nc' => 1, ), 'noMatch' => 'bypass', ), array( 'GETvar' => 'L', 'valueMap' => array( 'en' => '2', 'ru' => '1', ), 'noMatch' => 'bypass', ), ), 'pagePath' => array( 'type' => 'user', 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 'spaceCharacter' => '-', 'languageGetVar' => 'L', 'expireDays' => 7, 'rootpage_id' => 2, ), 'fixedPostVars' => array(), 'postVarSets' => array( '_DEFAULT' => array( // news archive parameters 'archive' => array( array( 'GETvar' => 'tx_ttnews[year]' , ), array( 'GETvar' => 'tx_ttnews[month]' , 'valueMap' => array( 'january' => '01', 'february' => '02', 'march' => '03', 'april' => '04', 'may' => '05', 'june' => '06', 'july' => '07', 'august' => '08', 'september' => '09', 'october' => '10', 'november' => '11', 'december' => '12', ) ), ), // news pagebrowser 'browse' => array( array( 'GETvar' => 'tx_ttnews[pointer]', ), ), // news categories 'select_category' => array ( array( 'GETvar' => 'tx_ttnews[cat]', ), ), // news articles and searchwords 'article' => array( array( 'GETvar' => 'tx_ttnews[tt_news]', 'lookUpTable' => array( 'table' => 'tt_news', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'tx_ttnews[swords]', ), ), ), ), // configure filenames for different pagetypes 'fileName' => array( 'index' => array( 'rss.xml' => array( 'keyValues' => array( 'type' => 100, ), ), 'rss091.xml' => array( 'keyValues' => array( 'type' => 101, ), ), 'rdf.xml' => array( 'keyValues' => array( 'type' => 102, ), ), 'atom.xml' => array( 'keyValues' => array( 'type' => 103, ), ), ), ), ), );?> Ну и заодно следует учитывать специфику использования только nginx без apache |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите как правильней сделать | Владимир Умнов | Общие вопросы | 2 | 12.10.2005 11:44 |