Но разве, даже без слеша, nginx не должен его дополнять сам?
Я просто перевел конфиг с языка апаче на nginx...
Полный конфиг этого виртуального хоста:
Могу привести конф с апаче, как ето было пару недель назад
Спасибо
#
WWW.domain.com server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Host $proxy_host;
proxy_set_header X-Forwarded-Server $http_host;
proxy_redirect off;
client_max_body_size 0M;
client_body_buffer_size 128k;
client_body_temp_path /tmp;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /tmp;
listen *:80;
access_log /var/log/nginx/wwww_log main;
error_log /var/log/nginx/wwww_error_log debug;
# rewrite_log on;
location /nginx_status {
root /var/www/html;
stub_status on;
access_log off;
allow xxx.xxx.xxx.xxx;
deny all;
}
#MAIN LOCATION
location / {
root /var/www/html/;
if (-f $request_filename.php) {
proxy_pass
http://dynamic.domain.com;
break;
}
}
#PHP AS HTML
location /user/user.php {
types {}
root /var/www/html;
default_type text/html;
}
location /user/profile.php {
types {}
root /var/www/html;
default_type text/html;
}
location /user/editProfile.php {
types {}
root /var/www/html;
default_type text/html;
}
#PICS PROXY
location ~* /([0-9]+)/([0-1][0-9])/ {
root /var/www/html/pics;
proxy_pass
http://PICS-0-19.ALL;
}
#IMAGE EXPIRATION
location ~* ^.+\.(jpg|jpeg|gif)$ {
root /var/www/html;
expires 30d;
}
#HTML JS CS EXPIRATION
location ~* ^.+\.(html|js|css)$ {
root /var/www/html;
expires 2h;
}
#XML EXPIRATION
location ~ \.xml$ {
root /var/www/html;
expires 1d;
}
}
On Tue, Dec 09, 2008 at 06:08:56PM +0200, Alex Umansky wrote:
> Спасибо, Игорь, но это не помогло ;-(
>
> Директория содержит поддиректории, никаких текстовых файлов.
> Да и это не важно..любая директория с/без пхп файлами внутри идет на бэкенд
> через 301 при отсутствии слэша в конце URL
>
> proxy_pass срабатывает при / только.
proxy_pass работает, это видно по логу. И там же видно, что именно бэкенд
возращает "Location:
http://dynamic.domain.com/data/";
Судя по приведённому конфигу, proxy_pass работать для /data не должен,
так как нет файла /data/php. Стало быть приведена не та конфигурация.
> Тут что-то с этим trailing slash в конце...я ожидал, что nginx сам добавит
> слеш, а в итоге - бэкенд в адрес баре и 301...
Сначала 301, а лишь потом "бэкенд в адрес баре".
> Спасибо