Возможно ли такое в Nginx ??? (тупой вопрос)

SN
На сайте с 04.07.2013
Offline
84
699

Вопрос ламерский.

Возможно ли настроить Nginx следующим образом:

При отправке браузером клиента запроса с адресом, мой сервер сразу пытается открыть статический html файл, а если его не находит, то передает этот адрес на обработку php ??

НАПРИМЕР:

1. Человек заходит со своего компьютера на мой сайт по адресу httр://www.mysite.ru/some-article.html

2. После получения этого адреса мой сервер пытается отдать клиенту реальный физический файл some-article.html который расположен скажем в папке /home/mysite.ru/www/.

3. В случае если сервер такого файла не находит, то он передает адрес на обработку для генерации PHP страницы. То есть если файла some-article.html не существует, то Nginx превращает этот адрес в адрес вида: httр://www.mуsite.ru/article-view.рhp?title=some-article и клиенту отдается страница сгенерированная PHP ?

Z
На сайте с 06.09.2012
Offline
129
#1
Черный список врунов и обманщиков: ua-hosting.company, riaas.ru, takewyn.ru, yahoster/cadedic, Andreylab
DV
На сайте с 01.05.2010
Offline
644
#2

ТС, а думаете, как орагнизуют отдачу картинок скриптом? Конечно, можно.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
SN
На сайте с 04.07.2013
Offline
84
#3

Огромное спасибо за наводку !

Попробовал сделать, но не получилось.

Подскажите, в чем ошибка ?



try_files $uri @rewrite;

location @rewrite {
rewrite ^/(.*).html$ /article-view.php?title=$1;
}

location ~ \.php$ {
root /home/mysite.ru/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/mysite.ru/www$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

В браузере существующий статический файл httр://www.mysite.ru/some-article.html открывается !

Если ввести в браузере адрес httр://www.mуsite.ru/article-view.рhp?title=some-article открывается PHP файл как нужно.

НО если ввести адрес на который нет статического файла, выдает ошибку 404, хотя nginx должен преобразовать адрес для php.

Пожалуйста помогите.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4


location / {
try_files $uri @rewrite;
}
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
SN
На сайте с 04.07.2013
Offline
84
#5
Оптимизайка:

location / {
try_files $uri @rewrite;
}

Спасибо! Заработало! не ожидал что окажется так просто

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий