Назад | Перейти на главную страницу

Перепишите URL-адрес на новый URL-адрес, а затем отправьте новый URL-адрес в сценарий PHP

У меня есть URL-адреса, содержащие строку очистки кеша. Я хочу переписать эти URL-адреса без строки очистки кеша, а затем отправить перезаписанные URL-адреса, соответствующие определенным критериям (например, аудио / видео файлы), в сценарий PHP.

например

/style.1233333555.css => /style.css
/video.3232474527.mp4 => /video.mp4 => /index.php

Вот что у меня есть на данный момент:

server {
    listen 80 default_server;
    server_name _;

    #force all traffic to be encrypted
    return 301 https://xyz.com$request_uri;
}

server {

    listen 443 ssl;
    server_name xyz.com;

    ssl on;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;
    ssl_certificate /etc/nginx/ssl/xyz.com.crt;
    ssl_certificate_key /etc/nginx/ssl/xyz.com.key;

    root     /srv/xyz.com;
    index   index.php;


    #for all files in the format "name.0000000.ext" e.g. "child.3126043152.jpg"
    location ~ (.*\/)?([^/]+)\.[a-zA-Z0-9]+(@2x)?\.([^\.]+)$ {

        #cache the files for as long as possible
        expires max;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";

        #remove the cache busting string and rewrite to the file's actual url
        rewrite (.*\/)?([^/]+)\.[a-zA-Z0-9]+(@2x)?\.([^\.]+)$ $1$2$3.$4 last;
   }

    #pass media files through index.php so we can duplicate the actual file
    rewrite \.(mp3|mp4|m4v|avi)$ /index.php;

   #specify which files we can X-Accel-Redirect to
    location /media {
            internal;
            alias /srv/xyz.com;
    }

    #pass anything that doesn't exist through index.php
    location / {
            try_files $uri $uri/ /index.php;
    }

    #tell nginx how to handle PHP files
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }

}

Эта конфигурация не вызывает ошибок, но не пересылает аудио / видео в скрипт PHP.

Что я делаю не так?

Спасибо.