Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   typo3 + nginx + rewrite (http://forum.typo3.ru/showthread.php?t=3701)

Artem 14.06.2007 09:50

typo3 + nginx + rewrite
 
Подсобите с настройкой.
В typo3 рабочий для apache realurl.
В конфиге nginx:

rewrite ^(.*) /index.php?id=$1;

Однако "красивые" ссылки не работают. Где я не прав?

AleXUnder 14.06.2007 11:44

а что в Setup у вас?

Artem 14.06.2007 11:54

В Setup:

config.baseURL = http://url/
config.tx_realurl_enable = 1
config.uniqueLinkVars = 1
config.linkVars = L

В localconf:
Код:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(

    'fileName' => array (
        'index' => array(
        'index.html' => array(
            'keyValues' => array(
            )
        ),
    ),
),
'fileName' => array(
    'index' => array(
      'sitemap.xml' => array(
      'keyValues' => array(
          'type' => '999',
          ),
          ),
      ),
      ),
  );

На апаче бегает, на nginx что-то видимо я не так пишу.

Pavel Antonov 14.06.2007 15:32

Цитата:

Сообщение от Artem (Сообщение 12860)
Подсобите с настройкой.
В typo3 рабочий для apache realurl.
В конфиге nginx:

rewrite ^(.*) /index.php?id=$1;

Однако "красивые" ссылки не работают. Где я не прав?

Посмотрите конфиг RealURL (.htaccess). Все работает совсем не так. Ваша конфигурация для rewriting-а не верная:
выполняется редирект просто на index.php, а все параметры вычиляются RealURL по URL запросу, а не передаются через id.

Valery Romanchev 14.06.2007 16:11

Цитата:

Сообщение от Artem (Сообщение 12860)
Подсобите с настройкой.
В typo3 рабочий для apache realurl.
В конфиге nginx:

rewrite ^(.*) /index.php?id=$1;

Однако "красивые" ссылки не работают. Где я не прав?

посмотрите .htaccess который лежит в дистрибутиве TYPO3 в корне
так есть правильный код рерайтинга для Apache.. для nginx нужно, ясное дело, писать аналогичный код

Artem 14.06.2007 18:26

Преобразовал в nginx.conf:
Код:

              rewrite .* /index.php last;

                      if (!-f $request_filename) {
                      rewrite .* /index.php last;
                      }

                      if (!-d $request_filename) {
                      rewrite .* /index.php last;
                      }

                      if (!-e $request_filename) {
                      rewrite .* /index.php last;
                      }

Преобразовал согласно мануалу. Но не работает. Я опять неправ? Как побороть?

Pavel Antonov 14.06.2007 18:45

Цитата:

Сообщение от Artem (Сообщение 12872)
Преобразовал в nginx.conf:
Код:

              rewrite .* /index.php last;

                      if (!-f $request_filename) {
                      rewrite .* /index.php last;
                      }

                      if (!-d $request_filename) {
                      rewrite .* /index.php last;
                      }

                      if (!-e $request_filename) {
                      rewrite .* /index.php last;
                      }

Преобразовал согласно мануалу. Но не работает. Я опять неправ? Как побороть?

Я конечно не знаком с rewrite под ngnix, но похоже написано что то странное... разве дальше первой комманды что то будет выполняться?

А как там вообще подключен PHP? через FastCGI?

Artem 14.06.2007 19:00

Именно, fastcgi.

Pavel Antonov 14.06.2007 20:07

Цитата:

Сообщение от Artem (Сообщение 12874)
Именно, fastcgi.



А тогда закономерный вопрос: передается ли в FastCGI оригинальный URL при использовании rewrite?

Если его не видит RealURL, то ничего работать не будет.
Попробуйте посмотреть что в приходит в TYPO3.

Artem 15.06.2007 02:55

А где можно посмотреть что в typo3 приходит?
Может кто-нить покажет свой вариант для nginx?


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

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