Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 07.04.2011, 18:19   #11
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Я все прочитал, но мне с трудом верится что задокументированный функционал никоим образом не функционирует. Возможно что и так, не стану утверждать наверняка пока сам не опробую на новых версиях.
Кстати, а конфигурация писалась с нуля собственноручно или как шаблон использовалась автоматическая?
-=UncleByte=- вне форума   Ответить с цитированием
Старый 07.04.2011, 19:00   #12
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Либо документация не поспевает, либо код переработан и этот параметр просто "забыли".
Тот код, что я видел в исходниках RealURL полгода назад, сильно отличается от того что есть сейчас.
Проверить acceptHTMLsuffix легко - берете название параметра и ищите по исходникам где он встречается.

Мой конфиг - самый что ни есть типовой:
PHP код:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'][$site_name] = array (
    
'init' => array (
        
'enableCHashCache' => true,
        
'appendMissingSlash' => 'ifNotFile,redirect',
        
'adminJumpToBackend' => true,
        
'enableUrlDecodeCache' => true,
        
'enableUrlEncodeCache' => true,
        
'emptyUrlReturnValue' => '/',
    ),
    
'pagePath' => array (
        
'type' => 'user',
        
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
        
'spaceCharacter' => '-',
        
'languageGetVar' => 'L',
        
'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title',
        
'rootpage_id' => 1,
    ),
    
'fileName' => array (
        
// 'defaultToHTMLsuffixOnPrev' => 0,
        // 'acceptHTMLsuffix' => 0,
        
'index' => array (
            
'print.htm' => array (
                
'keyValues' => array ('type' => 98),
            ),
        ),
    ) 
dmartynenko вне форума   Ответить с цитированием
Старый 07.04.2011, 19:08   #13
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Я когда столкнулся с глюками при переходе на новую версию RealURL выработал "стратегию" перехода: включить автоконфиг несериализованный, сгенерить его, использовать как болванку для своего. Потому что на самом деле довольно много изменений вносится и не всегда работает ожидаемым образом, в результате изменение настроек лучше всего показывает именно автоконфиг.
Кстати, а внутренние редиректы RealURL выдают 301 код или нет?
-=UncleByte=- вне форума   Ответить с цитированием
Старый 07.04.2011, 19:46   #14
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Мой конфиг по основным параметрам (исключения то что в ветке выше) идентичен тому, что предлагает autoconfig

PHP код:
    /**
     * Creates common configuration template.
     *
     * @return    array        Template
     */
    
protected function getTemplate() {
        
$confTemplate = array(
            
'init' => array(
                
'enableCHashCache' => true,
                
'appendMissingSlash' => 'ifNotFile,redirect',
                
'adminJumpToBackend' => true,
                
'enableUrlDecodeCache' => true,
                
'enableUrlEncodeCache' => true,
                
'emptyUrlReturnValue' => t3lib_div::getIndpEnv('TYPO3_SITE_PATH')
            ),
            
'pagePath' => array(
                
'type' => 'user',
                
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
                
'spaceCharacter' => '-',
                
'languageGetVar' => 'L',
            ),
            
'fileName' => array(
                
'defaultToHTMLsuffixOnPrev' => 0,
                
'acceptHTMLsuffix' => 1,
            )
        ); 
dmartynenko вне форума   Ответить с цитированием
Старый 10.04.2011, 18:35   #15
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Проверил на паре сайтов. Везде обновился до последних версий всех плагинов и переводов.
Результаты:

Сайт сконфигурированный на использование суффикса - www.rzhevrealty.ru
На самом деле адрес воспринимается и с суффиксом и без и адрес приводит к одной и той же странице.

Сайт сконфигурированный на использование без суффикса - www.jawaclub.ru
При использовании суффикса выдается 404-я ошибка и страница этой ошибки.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 11.04.2011, 12:51   #16
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Можете выложить конфиг для RealURL второго сайта (только его начало)?

У вас там кстати есть SEO-недоработка, урл со слэшем в конце и без него выдают одно и тоже:
http://www.jawaclub.ru/prosmotr-novosti
http://www.jawaclub.ru/prosmotr-novosti/
dmartynenko вне форума   Ответить с цитированием
Старый 11.04.2011, 16:30   #17
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Этот конфиг стопроцентно не мой собственный, брал его вроде бы из 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,
                    ),
                ),
            ),
        ),
    ),
);?>
А для SEO недоработок такого вида есть sitemap.xml, в котором и указаны все правильные адреса и сам sitemap.xml прописан и в robots.txt и добавлен в поисковики вручную.
Ну и заодно следует учитывать специфику использования только nginx без apache
-=UncleByte=- вне форума   Ответить с цитированием
Старый 11.04.2011, 16:45   #18
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Ваш конфиг является подтверждением моей догадки, у вас нет этой строки: 'defaultToHTMLsuffixOnPrev' => 0
Поэтому .html ваш сайт не принимает!

Если бы вы создали конфигурацию как autoconf и внесли в нее свои правки, то вероятнее всего строка с 'defaultToHTMLsuffixOnPrev' => 0 у вас осталась бы.

А запрет ссылок без "/" на конце делается вот так: 'appendMissingSlash' => 'ifNotFile,redirect'

Цитата:
Keyword: "redirect"
This keyword will force RealURL to redirect to the location with appended slash. This will ensure that pages do not appear doubled in the Google index (and therefore page rank does not suffer).
dmartynenko вне форума   Ответить с цитированием
Старый 11.04.2011, 18:44   #19
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

В том и дело что это не мной написанный конфиг, 5 лет назад я еще не очень подробно разбирался с RealURL и конфиги брал готовые с wiki.typo3.org правя в них исключительно rootpageid.
Добавлять отсутствующий слэш на конце гораздо лучше умеет вебсервер, в том же htaccess приложенном в доке по RealURL одна из строк именно этим и занимается.
В nginx это тоже можно делать, но в nginx нет такой фичи как перенаправление по завершающим слэшам как в Апаче и поэтому в принципе не нужно заморачиваться на такие мелочи, достаточно чтобы страница была верно указана в sitemap.xml.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 11.04.2011, 19:24   #20
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
Добавлять отсутствующий слэш на конце гораздо лучше умеет вебсервер, в том же htaccess приложенном в доке по RealURL одна из строк именно этим и занимается.
Соглашусь, перенаправление как page.html на page/, так и page на page/ лучше делать в .htaccess
Но, скажем так, RealURL в дефолтном конфиге тоже должен препятствовать дублям страниц по разным адресам, в независимости от настройки .htaccess

Во вторых не все вещи можно сделать в .htaccess с учетом "виртуальности" практически всех url в TYPO3. Мануал об этом и говорит (Note that it...):
Цитата:
To force this you simply append a '/' to the url if it is not a file:

RewriteRule (.*[^/])$ http://%{HTTP_HOST}/$1/ [L,R]

This works by redirecting the browser from www.example.com/project-name to www.example.com/project-name/.
Note that it will break rss.xml and similar mappings in the fileName section of the configuration.
Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
В nginx это тоже можно делать, но в nginx нет такой фичи как перенаправление по завершающим слэшам как в Апаче и поэтому в принципе не нужно заморачиваться на такие мелочи, достаточно чтобы страница была верно указана в sitemap.xml.
Я следую рекомендациям SEO-шников. Никто не гарантирует что другие сайты на вас не сделают ссылки как example.com/page вместо example.com/page/. Тут то поисковики и обнаружат что по двум адресам одинаковый контент, что не есть хорошо.
dmartynenko вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как правильней сделать Владимир Умнов Общие вопросы 2 12.10.2005 11:44


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория