NGINX +mod_rewrite

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение 100matolog » 2009-09-17 12:00:26

hizel писал(а):тоже на кол за компанию :roll:
вам в руки лопату дай - так вы всех закопаете ))

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35284
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение Alex Keda » 2009-09-17 12:08:52

вы не представляете на каком количестве серверов/хостингов апач улетел бы ф топку если бы нгинкс поддерживал реврайт как у апача...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NGINX +mod_rewrite

Непрочитанное сообщение hizel » 2009-09-17 12:31:45

а ты смотрел оф. примеры для mod_rewrite апачевского?
там кода с весь nginx :pardon:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35284
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение Alex Keda » 2009-09-17 12:34:19

и чё
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NGINX +mod_rewrite

Непрочитанное сообщение hizel » 2009-09-17 12:36:16

чо чо
если не написанно значит ни нада
и да пошапкам разрабов веб морд всяких, чтобы делали сразу красивые url-ы из каропке ;]
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35284
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение Alex Keda » 2009-09-17 12:37:35

ьнука, расскажи, как оно делается красиво?
мильён файлов и директорий плодить?
или html статический раскладывать?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NGINX +mod_rewrite

Непрочитанное сообщение hizel » 2009-09-17 12:42:51

хз как там в пыха-пэ, а в джанге-банге из каропке http://docs.djangoproject.com/en/dev/to ... -http-urls
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение LMik » 2009-09-17 13:32:12

hizel писал(а):ну прямого аналога такой пурги например:

Код: Выделить всё

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
Пы.Сы. гребанных джумалистов и приближенных на кол!
мне удобнее стало if проще понять чем эту хрень.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение 100matolog » 2009-09-17 14:37:51

lissyara писал(а):ьнука, расскажи, как оно делается красиво?
мильён файлов и директорий плодить?
или html статический раскладывать?
да-да - пусть расскажет....а то вообще

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение LMik » 2009-09-17 16:22:49

Один реврайт на index.php а дальше пусть он сам разгребает кому отдать дальнейшую обработку :)
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение 100matolog » 2009-09-17 16:32:54

LMik писал(а):Один реврайт на index.php а дальше пусть он сам разгребает кому отдать дальнейшую обработку :)
это как?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NGINX +mod_rewrite

Непрочитанное сообщение hizel » 2009-09-17 17:00:29

я свою сцылку уже выше запостил, одна точка входа и рули хоть до усрачки
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
tigos2
рядовой
Сообщения: 13
Зарегистрирован: 2007-12-23 7:53:59
Откуда: Владивосток
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение tigos2 » 2009-09-29 4:49:37

Для Drupal 6 и 7, чтобы появилась возможность использовать "Clear URLs", то бишь без всяких там вопросиков в урле сработала вот такая комбинация в /usr/local/etc/nginx/nginx.conf:

Код: Выделить всё

...
http {
    ...
    server {
        ...
        location / {
            ...
            if (-f $request_filename) {
                break;
            }
            if ($request_uri = /favicon.ico) {
                break;
            }
            if (!-f $request_filename) {
                rewrite ^/(.*)$ /index.php?q=$1 last;
            }
            ...
        }
    ...
}
...
PS: Если можно то добавьте это на http://wiki.lissyara.su/wiki/Nginx_php-cgi, с пометкой для Drupal 6 и 7 (т.к. проверено и протестировано - абсолютно без глюков реврайтные урлы работают!). А то у меня что-то никак не получилось там самому и в обсуждения не смог вставить. Боюсь сам забуду, а потом снова где-нибудь сервер буду настраивать и снова время убью на поиски :(
Последний раз редактировалось tigos2 2010-04-04 0:34:20, всего редактировалось 1 раз.
Всё что ни делается - всё к лучшему, а всё что делается - всё к худшему.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NGINX +mod_rewrite

Непрочитанное сообщение hizel » 2009-09-29 10:04:40

кстати я был не прав, всетаки есть в nginx операции над фалом! ^_^

http://hostingfu.com/article/running-dr ... r-lighttpd

тут тоже сравнение, nginx вполне рулит ;]
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

uriinf
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 15:03:56
Откуда: Ukraine

Re: NGINX +mod_rewrite

Непрочитанное сообщение uriinf » 2010-10-30 11:32:12

Не буду плодить темы.

есть htaccess:

Код: Выделить всё

RewriteRule ^\.htaccess$ - [F]

RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /html/index.php [NC,L]

RewriteCond %{REQUEST_URI} !^/html/.*$
RewriteRule ^(.*)$ /html/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]

RewriteRule ^html/.*$ /html/index.php [NC,L]
Никак не могу переписать на nginx. Пользовался онлайн конвертором (http://www.anilcetin.com/convert-apache ... -to-nginx/) кое-что перевел, работает но выглядит не очень "красиво". Последние два правила не подобрал.


Вот мой конфиг хоста:

Код: Выделить всё

server {
listen 80;
server_name somehost.org www.somehost.org;

access_log /var/log/nginx/somehost.org-access_log main;
error_log /var/log/nginx/somehost.org-error.log;

location / {
root /var/www/html/somehost.org;
index index.html index.htm index.php;

### RewriteCond %{REQUEST_URI} ="" RewriteRule ^.*$ /html/index.php [NC,L] ##

if ($uri ~ ''){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/.*$ /html/index.php last;
}
############################################################################

}

### RewriteCond %{REQUEST_URI} !^/html/.*$ RewriteRule ^(.*)$ /html/$1 #####

if ($uri !~ ^/html/.*$){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/(.*)$ /html/$1 last;
}
################################################################

### RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.*$ - [NC,L] #######
???
################################################################

### RewriteRule ^html/.*$ /html/index.php [NC,L] ###########################
???
################################################################
location ~ \.php$ {
root /var/www/html/somehost.org;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/somehost.org$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.ht {
deny all;
}
}
С регуляркой у меня не очень, спасибо если кто подскажет чего.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: NGINX +mod_rewrite

Непрочитанное сообщение LMik » 2010-11-03 12:45:36

А тут с регулярками ничего придумвать не надо, они такие же остануться. Перепишите в синтаксис конфигов nginx.

Код: Выделить всё

if (реврайтконд){
реврайт тудато.
}
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!