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?

Pavel Antonov 15.06.2007 04:01

Цитата:

Сообщение от Artem (Сообщение 12892)
А где можно посмотреть что в typo3 приходит?
Может кто-нить покажет свой вариант для nginx?

в самой TYPO3 и смотреть... ручками и дебаг-ом
... а ну голову еще обязательно! :D

Artem 15.06.2007 17:03

Ага, ida на него настравить. :)
Все. Разобрался.

void 15.06.2007 22:00

Покажите как разобрались. А еще лучше создайте страницу http://wiki.typo3.biz/ext:realurl:nginx и опишите там ваш конфиг.

Artem 19.06.2007 10:15

Хотел было написать, но у меня нет прав для wiki.

void 19.06.2007 18:55

Используйте логин и пароль от форума для авторизации в вики.

Valery Romanchev 19.06.2007 21:09

Цитата:

Сообщение от Artem (Сообщение 12967)
Хотел было написать, но у меня нет прав для wiki.

если напишите - это будет многим полезно - тут у многих свои серверы под тайпо3.
nginx позволяет сильно улучшить ситуацию...
Ну а если и апач получится выбросить, то будет совсем хорошо :)

Artem 28.06.2007 00:15

http://wiki.typo3.biz/ext:realurl:nginx
Создал. Оценивайте.
Апач можно выкинуть ;)

Pavel Antonov 28.06.2007 00:20

Спасибо огромное!

Artem 28.06.2007 13:34

В wiki -- (двойной дефис) получается одинарным, пробовал и двумя пробелами выделять. Как побороть?

void 28.06.2007 15:03

Отключил типографику... Вроде всё нормально стало.

Pavel Antonov 28.06.2007 15:09

Кстати вопросы по ngnix:
  1. Зачем запускать два процесса PHP-FastCGI если ngnix все равно обрабатывает все в один поток?
  2. Прирост скорости и производительности на статике общеищветсный факт, но вот стоит ли ставить ngnix на TYPO3? Мерилась ли производительность в сравнении с apache? Обычно все таки встречается связка Apache, PHP + ngnix. Ведь как не крути, самое тонкое место в этой связке TYPO3 (PHP) и возможно такая ситуация что при работе оператора в BE сайт может быть периодически не доступен (из-за однопоточности ngnix).


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

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