nginx-нинзя есть? - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD63859.1638
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 19.12.2010, 19:28   #1
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
По умолчанию nginx-нинзя есть?

Переношу проект с апача(денверского) на нгинкс, так .htaccess не хавается - тупо 404 на внутренних страницах. Нагуглил, что там формат как-то конвертить надо

Он простой у меня, подскажите

PHP код:
RewriteEngine on
RewriteBase 
/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
. /index.php [L
Drunk Monk вне форума  
Старый 19.12.2010, 19:48   #2
Crazy Joker
Ебланнед
 
Регистрация: 21.09.2007
Адрес: бан по просьбе владельца
Сообщений: 1,051
Бабло: $10
По умолчанию

Этож вордпресс?
Цитата:
location ~ \.php$ {
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php break;
}
Crazy Joker вне форума  
Старый 19.12.2010, 19:52   #3
oledj
Senior Member
 
Аватар для oledj
 
Регистрация: 23.07.2008
Адрес: Kiev
Сообщений: 398
Бабло: $81715
Отправить сообщение для oledj с помощью ICQ
По умолчанию

location / {

index index.php;

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

}
oledj вне форума  
Старый 19.12.2010, 20:18   #4
dveredel
Читатель
 
Аватар для dveredel
 
Регистрация: 23.11.2007
Сообщений: 420
Бабло: $48745
По умолчанию

Цитата с сайта Сысоева (автора нгинкса) насчет прямого рерайта в данной задаче:


Как переписать апачевские правила для Drupal:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

при использовании nginx/FastCGI ?

Вот так:

location / {
try_files $uri $uri/ @drupal;
}

location @drupal {
fastcgi_pass ...;

fastcgi_param SCRIPT_FILENAME /path/to/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param QUERY_STRING q=$uri&$args;

... прочие fastcgi_param
}


Обычно практикуемая прямая трансляция правил:
location / {
if (!-e $request_filename) {
rewrite ^(.*) /index.php?q=$1 last;
}
}
location = /index.php {
fastcgi_pass ...
... прочие fastcgi_param
}
достойна всяческого порицания.

цитата отсюда
dveredel вне форума  
Старый 20.12.2010, 00:00   #5
href
Member
 
Регистрация: 09.12.2010
Сообщений: 78
Бабло: $9550
По умолчанию

рабочий конфиг wordpress + чистый nginx c кешированием на 60 минут:

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=mydomain.com:60m;
server{
server_name mydomain.com www.mydomain.com;

listen 111.222.333.444;
access_log /var/log/nginx/mydomain.com.access.log;

root /var/www/mydomain.com;
index index.php;

if ($host = 'mydomain.com' ) {
rewrite ^(.*)$ http://www.mydomain.com$1 permanent;
}

location ~ ^(/wp-login.php|/wp-comments-post.php|/xmlrpc.php|/wp-cron.php)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location / {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";

try_files $uri $uri/ @wordpress;
}

location @wordpress {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";

fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
}

location ~ .php$ {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";

try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
href вне форума  
Старый 20.12.2010, 01:48   #6
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Crazy Joker Посмотреть сообщение
Этож вордпресс?
с него спижжено. надо просто чтобы все слалось на индекс.пхп, там уже скрипт разбирается
Drunk Monk вне форума