• Как исправить то, что urlManager игнорирует всё до index.php в запросе?

    @potnii Автор вопроса
    Сервер nginx.
    Конфигурация:
    server {
    set $host_path "/var/www/sites/мой_сайт/frontend";
    access_log /var/www/sites/мой_сайт/log/access.log;
    error_log /var/www/sites/мой_сайт/log/error.log;

    listen 80;
    server_name мой_сайт;
    root $host_path/web;
    set $yii_bootstrap "index.php";
    add_header X-Frame-Options "SAMEORIGIN";
    client_max_body_size 2048m;

    charset utf-8;

    location / {
    index index.php $yii_bootstrap;
    try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    location ~ ^/(protected|framework|themes/\w+/views) {
    deny all;
    }

    # отключаем обработку запросов фреймворком к несуществующим статичным файлам
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    try_files $uri =404;
    }

    # передаем PHP-скрипт серверу FastCGI, прослушивающему адрес 127.0.0.1:9000
    location ~ \.php {
    fastcgi_split_path_info ^(.+\.php)(.*)$;

    # позволяем yii перехватывать запросы к несуществующим PHP-файлам
    set $fsn /$yii_bootstrap;
    if (-f $document_root$fastcgi_script_name){
    set $fsn $fastcgi_script_name;
    }

    fastcgi_pass php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fsn;

    # PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fsn;
    fastcgi_read_timeout 300;
    }

    # не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
    location ~ /\. {
    deny all;
    access_log off;
    log_not_found off;
    }

    }

    server {
    set $host_path "/var/www/sites/мой_сайт/backend";
    access_log /var/www/sites/мой_сайт/log/access_back.log;
    error_log /var/www/sites/мой_сайт/log/error_back.log;

    listen 80;
    server_name admin.мой_сайт;
    root $host_path/web;
    set $yii_bootstrap "index.php";
    add_header X-Frame-Options "SAMEORIGIN";
    client_max_body_size 2048m;

    charset utf-8;

    location / {
    index index.php $yii_bootstrap;
    try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    location ~ ^/(protected|framework|themes/\w+/views) {
    deny all;
    }

    # отключаем обработку запросов фреймворком к несуществующим статичным файлам
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    try_files $uri =404;
    }

    # передаем PHP-скрипт серверу FastCGI, прослушивающему адрес 127.0.0.1:9000
    location ~ \.php {
    fastcgi_split_path_info ^(.+\.php)(.*)$;

    # позволяем yii перехватывать запросы к несуществующим PHP-файлам
    set $fsn /$yii_bootstrap;
    if (-f $document_root$fastcgi_script_name){
    set $fsn $fastcgi_script_name;
    }

    fastcgi_pass php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fsn;

    # PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fsn;
    fastcgi_read_timeout 300;
    }

    # не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
    location ~ /\. {
    deny all;
    access_log off;
    log_not_found off;
    }

    }