Ответ 1
Отметьте этот вопрос и Руководство Nginx.
Попробуйте изменить строку blog
на:
location ^~ /blog/ {
root /home/me/wordpress;
index index.php index.html index.htm;
}
У меня есть мой основной сайт и wordpress в разных каталогах на моем сервере, на которых я использую nginx в качестве веб-сервера. Главный веб-сайт находится в /home/me/www и Wordpress находится в /home/me/wordpress. Мне нужно, чтобы они были в отдельных каталогах по определенной причине. Как указать это в файле конфигурации nginx? В настоящее время у меня есть следующее, и оно не работает:
location / {
root /home/me/www;
index index.php index.html index.htm;
}
location /blog {
root /home/me/wordpress;
index index.php index.html index.htm;
}
location ~ \.php$ {
set $php_root /home/me/www;
if ($request_uri ~ /blog) {
set $php_root /home/me/wordpress;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
В настоящее время он возвращает HTTP 404, когда я пытаюсь получить доступ к http://mydomain/blog
Отметьте этот вопрос и Руководство Nginx.
Попробуйте изменить строку blog
на:
location ^~ /blog/ {
root /home/me/wordpress;
index index.php index.html index.htm;
}
Я боролся с этим часами и, наконец, достиг рабочих конфигураций следующим образом:
location /php-app {
passenger_enabled off;
alias /path/to/php-app/$1;
index index.php index.html;
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/php-app(.*)$ /index.php?q=$1 last;
}
location ~ \.php$ {
alias /path/to/php-app/$1;
rewrite ^/php-app(.*)$ $1 last;
passenger_enabled off;
fastcgi_pass unix:/tmp/php-fpm.socket;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /path/to/php-app$fastcgi_script_name;
fastcgi_intercept_errors on;
}
Просто добавьте больше деталей в ответ @Nick Presta.
^ ~: Если присутствует модификатор карата и тильды, и если этот блок выбран как наилучшее совпадение с не регулярным выражением, то регулярное выражение не будет иметь места.
Checkout Эти различия введите описание ссылки здесь