На работе мы переключаемся с общего стека LAMP на VPS под управлением nginx.Мне гораздо удобнее с Apache, но научиться использовать Nginx было довольно увлекательно (или столь же увлекательно, как и обучение настройке нового веб-сервера.
Текущая проблема заключается в следующем: onнесколько доменов, которые нам нужно удалить index.php из URL для канонизации. Это последнее, что нам нужно сейчас позаботиться об этих доменах.
Я исследовал множество различных методов удаления индекса.php из URL (большинство из которых специально для CI или ExpressionEngine), и я попытался адаптировать некоторые из них для личного использования, но в итоге я получаю ошибку бесконечного цикла, которая, как я могу себе представить, связана со следующим:
location / {
try_files $uri $uri/ /index.php?$args =404;
}
Я одержим желанием узнать, как все это работает, но сейчас мне нужно обратиться за помощью, чтобы выяснить это, чтобы мы могли двигаться вперед, и я мог понять, что яЯ поступаю неправильно.
Буду очень признателен за любые ответы и буду благодарен всем, кто пожелаетнемного углубиться в тему, чтобы помочь кому-то новому, как я и кто-то еще, кто может быть в подобной ситуации, которая читает это.
Спасибо!
ОБНОВЛЕНИЕ
Чтобы упростить ситуацию, я просто выложу здесь свою конфигурацию nginx для этого vhost.
server {
listen 80;
server_name examplesite.com;
# redirect non-www to www. for canonical urls
rewrite ^/(.*) http://www.examplesite.com/$1 permanent;
}
server {
listen 80;
server_name www.examplesite.com;
error_log /srv/http/nginx/examplesite.com/log/nginx-error.log;
access_log /srv/http/nginx/examplesite.com/log/nginx-access.log;
root /srv/http/nginx/examplesite.com/root;
location / {
try_files $uri $uri/ /index.php?$args =404;
}
location ~ \.php$ {
include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE "error_log=/srv/http/nginx/examplesite.com/log/php-error.log";
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}
}