Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Исключить сегмент из RealUrl пути (http://forum.typo3.ru/showthread.php?t=8900)

demav 22.09.2010 14:04

Исключить сегмент из RealUrl пути
 
Сейчас на сайте ссылки формируются вида
http://site.ru/project/project/15/

1-й project - это имя страницы
2-й project - это параметр GET (переопределенный с помощью postVarSets

Можно ли ссылки формировать без двойного "project"?

-=UncleByte=- 22.09.2010 20:26

В свойствах страницы вроде можно отключать участие страницы в "создании ЧПУ" - не подходит?

demav 22.09.2010 21:00

Цитата:

Сообщение от -=UncleByte=- (Сообщение 28970)
В свойствах страницы вроде можно отключать участие страницы в "создании ЧПУ" - не подходит?

К сожалению, нет. Видимо, тогда система не поймет что такое project - страница или параметр GET.

Но это точно работало в более старых версиях realurl, когда задавались параметры fixedPostVars. Т.е. вопрос весь возник после обновления realurl

-=UncleByte=- 22.09.2010 22:13

Ну в конце концов можно просто переименовать сегмент генерируемый в PostVarSets - например сделать чтобы было http://site.tld/project/view/15/
Вообще говоря обновление вызвало у меня проблему с явным указанием части пути для Sysfolder'а - если путь генерировался без него, то все работало, стоило указать явным образом сегмент пути - все ломалось с сообщением про неправильный PostVarSets. Помогло как раз поставить галку на исключение сегмента вовсе - мне даже и понравилось как теперь пути выглядят.

Valery Romanchev 23.09.2010 02:33

Цитата:

Сообщение от demav (Сообщение 28961)
Сейчас на сайте ссылки формируются вида
http://site.ru/project/project/15/

1-й project - это имя страницы
2-й project - это параметр GET (переопределенный с помощью postVarSets

Можно ли ссылки формировать без двойного "project"?

можно, если сделать конфиг реал урла привязанный к uid страницы project

PHP код:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
    
'init' => array(
        
'enableCHashCache' => true,
        
'enableCHashCache' => 1,
        
'respectSimulateStaticURLs' => 0,
        
'enableUrlDecodeCache' => 1,
        
'enableUrlEncodeCache' => 1
    
),
   
'preVars' => array(

/* 2009-03-29
        '0' => array (
            'GETvar' => 'no_cache',
            'valueMap' => array (
                'nc' => '1'
            ),
            'noMatch' => 'bypass'
        ),
        '1' => array(
           'GETvar' => 'print',
           'valueMap' => array(
                'print' => '1',
             ),
            'noMatch' => 'bypass'
        ),
*/

    
),
    
'pagePath' => array(
        
'type' => 'user',
        
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
        
'rootpage_id' => 27,
        
'firstHitPathCache' => 1,
        
'spaceCharacter' => '-'
    
),


    
'fixedPostVars' => array(
           
'90' => array(
/*
                array(
                      'GETvar' => 'tx_ttnews[pointer]',
                      'valueMap' => array (
                        '0' => '',
                        ),
                     ),
                array(
                      'GETvar' => 'tx_ttnews[backPid]',
                      ),
                      
                //array(
                     // 'GETvar' => 'tx_ttnews[cat]',
                 //     ),
*/
                
array(
                      
'GETvar' => 'tx_ttnews[tt_news]',
                       
'lookUpTable' => array(
                            
'table' => 'tt_news',
                            
'id_field' => 'uid',
                            
'alias_field' => 'title',
                            
'maxLength' => 80,
                            
'useUniqueCache' => 1,
                            
'useUniqueCache_conf' => array(
                                
'strtolower' => 1,
                                
'spaceCharacter' => '-',
                                ),
                            
'addWhereClause' => ' AND NOT deleted',
                            
'languageGetVar' => 'L',
                            
'languageExceptionUids' => '',
                            
'languageField' => 'sys_language_uid',
                            
'transOrigPointerField' => 'l18n_parent'
                        
),
                ),
            ),
            
           
'138' => array(
/*
                array(
                      'GETvar' => 'tx_ttnews[pointer]',
                      'valueMap' => array (
                        '0' => '',
                        ),
                     ),
                array(
                      'GETvar' => 'tx_ttnews[backPid]',
                      ),
                      
                //array(
                     // 'GETvar' => 'tx_ttnews[cat]',
                 //     ),
*/
                
array(
                      
'GETvar' => 'tx_ttnews[tt_news]',
                       
'lookUpTable' => array(
                            
'table' => 'tt_news',
                            
'id_field' => 'uid',
                            
'alias_field' => 'title',
                            
'maxLength' => 80,
                            
'useUniqueCache' => 1,
                            
'useUniqueCache_conf' => array(
                                
'strtolower' => 1,
                                
'spaceCharacter' => '-',
                                ),
                            
'addWhereClause' => ' AND NOT deleted',
                            
'languageGetVar' => 'L',
                            
'languageExceptionUids' => '',
                            
'languageField' => 'sys_language_uid',
                            
'transOrigPointerField' => 'l18n_parent'
                        
),
                ),
            ),

            
           
'103' => array(
                array(
                      
'GETvar' => 'news',
                ),
            ),
    ),
    
    
    
   
'postVarSets' => array(
       
'_DEFAULT' => array (
           
'news' => array(

/* 2009-03-29
                array(
                      'GETvar' => 'tx_ttnews[pointer]',
                      'valueMap' => array (
                        '0' => '',
                        ),
                     ),
                array(
                      'GETvar' => 'tx_ttnews[backPid]',
                      ),
                //array(
                     // 'GETvar' => 'tx_ttnews[cat]',
                 //     ),
*/
                
array(
                      
'GETvar' => 'tx_ttnews[tt_news]',
                       
'lookUpTable' => array(
                            
'table' => 'tt_news',
                            
'id_field' => 'uid',
                            
'alias_field' => 'title',
                            
'maxLength' => 80,
                            
'useUniqueCache' => 1,
                            
'useUniqueCache_conf' => array(
                                
'strtolower' => 1,
                                
'spaceCharacter' => '-',
                                ),
                            
'addWhereClause' => ' AND NOT deleted',
                            
'languageGetVar' => 'L',
                            
'languageExceptionUids' => '',
                            
'languageField' => 'sys_language_uid',
                            
'transOrigPointerField' => 'l18n_parent'
                        
),
                      ),
           ),
           
/*
           'print' => array(
                array(
                      'GETvar' => 'print',
                      'valueMap' => array (
                        '1' => '',
                        ),
                     ),
           ),
           */
       
),
   ),
    
'fileName' => array (
        
'defaultToHTMLsuffixOnPrev' => true,
        
'index' => array(
            
'page.html' => array(
                
'keyValues' => array (
                
'type' => 1,
                )
            ),
            
'print.html' => array(
                
'keyValues' => array (
                
'type' => 98,
                )
            ),
        ),
    ),
); 


demav 23.09.2010 12:54

Цитата:

Сообщение от Valery Romanchev (Сообщение 28979)
можно, если сделать конфиг реал урла привязанный к uid страницы project

В общем, так и сделано (для страниц 33 и 34).

PHP код:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
        
'init' => array(
            
'enableCHashCache' => 1,
            
'appendMissingSlash' => 'ifNotFile',
            
'enableUrlDecodeCache' => 1,
            
'enableUrlEncodeCache' => 1,
            
'respectSimulateStaticURLs' => 0,
            
'postVarSet_failureMode'=>'redirect_goodUpperDir',
        ),
    
'redirects_regex' => array (
    
    ),

    
'fixedPostVars' => array(
        
'33' => array(
            array(
                
'GETvar' => 'project',
            ),
        ),
        
'34' => array(
            array(
                
'GETvar' => 'project',
            ),
        ),
    ),

    
'preVars' => array(
                        array(
                                
'GETvar' => 'no_cache',
                                
'valueMap' => array(
                                    
'no_cache' => 1,
                                ),
                                
'noMatch' => 'bypass',
                        ),
                         array(
                             
'GETvar' => 'L',
                             
'valueMap' => array(
                                                
'en' => '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' => 1,
        ),


      
'postVarSets' => array(
            
'_DEFAULT' => array(
                
// projects parameters
                
'project' => array(
                    array(
                        
'GETvar' => 'project' ,
                        ),
                ),
                
// 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[backPid]',
                    ),                    
                    array(
                        
'GETvar' => 'tx_ttnews[tt_news]',
                  ),
                    array(
                        
'GETvar' => 'tx_ttnews[swords]',
                        ),
                    ),
                ),             
            ),

      
'fileName' => array(
            
'defaultToHTMLsuffixOnPrev'=>0,
            
'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,
                    ),
                ),
            ),
        ),
 ); 

Но на последней версии realurl (1.10.0) формируются двойные project.
На версии 1.7.0 все нормально.

То ли конфигурация неправильная. То ли ошибка в realurl. Склоняюсь к первому :)

demav 23.09.2010 12:57

Цитата:

Сообщение от -=UncleByte=- (Сообщение 28973)
Ну в конце концов можно просто переименовать сегмент

Конечно, так можно. Но сейчас на сайт ведёт много ссылок с поисковиков и других ресурсов. И если изменить ссылки, то все такие страницы окажутся не найденные. Чего не хотелось бы.

Как альтернатива, сделать переадресацию в .htaccess, но пока хотелось бы проверить иную возможность - исправить ошибки в конфигурации для realurl.


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

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