2013-05-08 3 views
0

Я работал над realurl в typo3 и тратил часы на разработку, почему typo3 показывает только один сегмент в URL-адресе.typo3 realurl показать только один сегмент в url

структура сайта выглядит следующим образом:

enter image description here

и URL, который я получил за субстранице 'Munchen-maistrasse' является:

http://www.bernd-gruber.at/munchen-maistrasse/

Я хочу, чтобы это было:

http://www.bernd-gruber.at/referenzen/munchen-maistrasse/

Это мой сервер файл .htaccess:

<FilesMatch "\.(js|css)$"> 
    <IfModule mod_expires.c> 
    ExpiresActive on 
    ExpiresDefault "access plus 7 days" 
    </IfModule> 
    FileETag MTime Size 
</FilesMatch> 

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L] 
RewriteRule ^(typo3/|t3lib/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L] 
RewriteRule ^typo3$ typo3/index_re.php [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [L] 

</IfModule> 

AddType video/x-m4v .m4v 
AddType video/ogg .ogv 
AddType video/webm .webm 
AddType video/x-m4v .m4v 
AddType application/ogg .ogg 

Я не использую config.baseURL в TypoScript я использую:

config.absRefPrefix =/
config.prefixLocalAnchors = all 

на моей корневой странице. Я исчерпал решения.

+0

Убедитесь, что страница «Referenzen» не имеет «Исключить из говоря URL» установлен в его странице свойств. В противном случае отправьте конфигурацию RealURL, поскольку конфигурация .htaccess, которую вы опубликовали, не играет никакой роли в генерации URL-адресов. – tmt

+0

Я изменил Исключить из говорящего URL-адреса для подстраницы «Referenzen», но ничего не случилось, опечатка все еще отображает последний сегмент в URL-адресе. Вот скриншот: http://i.imgur.com/xQdTcd4.jpg – strongBAD

+0

Я не знаю, что вы подразумеваете под «изменением». Он должен быть НЕОПРЕДЕЛЕН. Однако проверьте ответ Арека ван Шайка. Я никогда не использовал конфигурацию RealURL по умолчанию, поэтому я не знаю, является ли поведение, на которое вы ссылаетесь, по умолчанию. Если это так, то просто придумать свой собственный конфиг должен сделать трюк. – tmt

ответ

1

Для этого вам нужна ваша собственная конфигурация.

1) В Extension Manager ->RealUrl ->Configuration вы должны отключить автоматическую конфигурацию и определить есть путь к вашему собственному файлу конфигурации RealUrl.

2) Вы должны убедиться, что (страница). config.tx_realurl_enable = 1 установлен.

3) После того, как сделать правильные конфигурации RealUrl для вашего сайта, вы должны срезанных все кэширования таблиц RealUrl или просто удалить все ID to Path mappings.

Вот несколько примеров из стандартного шаблона конфигурации RealUrl:

<?php 
$realurl_template = array(

    'init' => array(
     'appendMissingSlash' => 'ifNotFile,redirect', 
     'enableCHashCache'  => 1, 
     'enableUrlDecodeCache' => 1, 
     'enableUrlEncodeCache' => 1, 
     'emptyUrlReturnValue' => '/' 
    ), 

    'preVars' => array(
     array(
      'GETvar' => 'no_cache', 
      'valueMap' => array(
       'nc' => 1, 
      ), 
      'noMatch' => 'bypass', 
     ), 
    ), 

    'fileName' => array(
     'index' => array(

     ), 
    ), 

    'postVarSets' => array(
     '_DEFAULT' => array (

     ), 
    ), 

    'pagePath' => array(
     'type' => 'user', 
     'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 
     'spaceCharacter' => '-', 
     'languageGetVar' => 'L', 
     'expireDays' => 3, 
    ) 
); 

# Configurate domain names 
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    '_DEFAULT' => $realurl_template, 
    'domain.com' => $realurl_template, 
    'www.domain.com' => $realurl_template, 
); 

$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.com']['pagePath']['rootpage_id'] = 1; 
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com']['pagePath']['rootpage_id'] = 1; 

# Unset template 
unset($realurl_template); 
?> 
+0

Как я могу сделать # 3? Могу ли я сделать это с помощью back-in typo3, или мне нужно подключиться к базе данных и удалить его вручную? Спасибо за вашу помощь. – strongBAD

+0

1) Перейдите в «Web-> Info» и выберите «корневую страницу» вашего сайта в pagetree. 2) Выберите в приведенном выше выводе 'RealURL management' и во втором выпадающем списке, который отображает на странице« ID-to-path mapping »с глубиной' inifite'. 3) В таблице, в которой отображаются сопоставления идентификатора к пути, вы можете удалить ее с помощью значка «trash», расположенного в заголовке таблицы. 4) «Очистите все кеши», и теперь он должен работать! –

+0

Я сделал все упомянутые вещи, и все равно. Я отключил автоматическую конфигурацию realurl, вставив вашу конфигурацию realurl в файл конфигурации, убедитесь, что onfig.tx_realurl_enable установлен в 1 и удаляет идентификаторы для сопоставлений пути. – strongBAD