2013-02-08 3 views
0

Я до сих пор довольно новичок в nginx, и, несмотря на то, что я взглянул на все ответы на подобные вопросы и попробовал все, что они сказали, до сих пор ничего не работало.nginx folder to cdn redirection

Я хочу сделать это переназначение:

От http://www.mydomain.com/folder к http://cdn.mydomain.com/folder

Я поместил это внутри сервера конф:

location /folder/ { 
     rewrite^http://cdn.mydomain.com/folder/$request_uri permanent; 
    } 

Я думаю, что я нахожусь рядом, но до сих пор дон Я не ошибаюсь.

В моем старом сервере, используя этот .htaccess внутри каждой папки работает отлично:

RewriteEngine On 
    RewriteRule (.*) http://cdn.mydomain.com/folder/$1 [L,R=301] 

Спасибо заранее!

ответ

0

Вы в настоящее время сравниваете только точное местоположение /folder/. Вы должны изменить, что, чтобы соответствовать всем местам, начиная с /folder/:

location ^~ /folder/ { 

Кроме того, ваш переписан имеет один с половиной ошибок. Если я запрошу http://www.mydomain.com/folder/123.png, вы перенаправите меня на http://cdn.mydomain.com/folder//folder/123.png, что, скорее всего, неверно. Ниже приведена полная директива по размещению и перезаписи. Значок вопроса после $request_uri гарантирует, что потенциальная строка запроса добавляется только один раз.

location ^~ /folder/ { 
    rewrite^http://cdn.mydomain.com$request_uri? permanent; 
} 
+0

Он отлично работает, спасибо! – LuisHerranz

+0

hey Bro, Так что я нахожусь на этом этапе, где мне нужна точная вещь, но 5% разные, я думаю. Я хочу, чтобы мои пользователи нажимали '' http: // embed.mydomain.com/embed.js'', а затем я хочу, чтобы файл на моем S3 был подан. Как мне это сделать, пожалуйста? – Sahan