![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
|
|
#1 |
|
Продвинутый
Регистрация: 20.11.2010
Сообщений: 40
|
Всем привет))
Перенес сайт с 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. |
|
|
|
|
|
#2 |
|
Продвинутый
Регистрация: 20.11.2010
Сообщений: 40
|
сделал вот так, добавил в index.php
PHP код:
RewriteBase / RewriteRule ^(.*)\.aspx$ $1.html [R=permanent,L] Последний раз редактировалось musson; 18.01.2011 в 17:44 |
|
|
|
|
|
#3 |
|
Senior Member
|
Редиректы самого сервера работают быстрее и не надо ничего менять в ядре системы.
|
|
|
|
|
|
#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 |
|
|
|
|
|
#5 |
|
Senior Member
|
А если этот самый атрибут print транслировать просто в /адрес_страницы/ptint/ ?
|
|
|
|
|
|
#6 |
|
Senior Member
|
Не получиться в .../print/
Так как RealURL умеет добавлять фиксированные переменные только в начало пути, т.е. /en/... или /print/... Добавить "в самый конец" можно только опцией fileName. Ну, вообщем, для конечного пользователя нет разницы как выглядит урл, можно и так и эдак сделать. Самое главное, что для SEO плохо что page/ и page.html выдают одно и тоже, а это поведение что называется "из коробки". |
|
|
|
|
|
#7 |
|
Senior Member
|
Мой конфиг по основным параметрам (исключения то что в ветке выше) идентичен тому, что предлагает autoconfig
PHP код:
|
|
|
|
|
|
#8 |
|
Senior Member
|
Проверил на паре сайтов. Везде обновился до последних версий всех плагинов и переводов.
Результаты: Сайт сконфигурированный на использование суффикса - www.rzhevrealty.ru На самом деле адрес воспринимается и с суффиксом и без и адрес приводит к одной и той же странице. Сайт сконфигурированный на использование без суффикса - www.jawaclub.ru При использовании суффикса выдается 404-я ошибка и страница этой ошибки. |
|
|
|
|
|
#9 |
|
Senior Member
|
Можете выложить конфиг для RealURL второго сайта (только его начало)?
У вас там кстати есть SEO-недоработка, урл со слэшем в конце и без него выдают одно и тоже: http://www.jawaclub.ru/prosmotr-novosti http://www.jawaclub.ru/prosmotr-novosti/ |
|
|
|
|
|
#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 |