Вход

Просмотр полной версии : typo3 + nginx + rewrite


Artem
14.06.2007, 09:50
Подсобите с настройкой.
В 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
Подсобите с настройкой.
В typo3 рабочий для apache realurl.
В конфиге nginx:

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

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

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

Valery Romanchev
14.06.2007, 16:11
Подсобите с настройкой.
В 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
Преобразовал в 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
Именно, fastcgi.



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

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

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

Pavel Antonov
15.06.2007, 04:01
А где можно посмотреть что в 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
Хотел было написать, но у меня нет прав для 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:

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