Tüm Ürünler
Search
Belge Merkezi

CDN:Origin Path Rewrite

Son Güncelleme:Oct 29, 2026

Alibaba Cloud CDN, URL yeniden yazmayı destekler. Yeniden yazma işlemi yalnızca kaynak sunucudan veri çekmek için kullanılan URL'yi etkiler; CDN'in dahili yönlendirmesini veya önbellek anahtarını değiştirmez.

Nasıl çalışır

Origin Path Rewrite kuralları, istek yolunu kaynak sunucunuzdaki gerçek kaynak konumuyla eşleşecek şekilde değiştirmenize olanak tanır. Bu sayede POP'lar kaynakları doğru bir şekilde alabilir veya kaynak sunucuya belirli sorgu dizelerini iletebilir.

  • Flag parametresi None veya break olarak ayarlandığında, yalnızca URL içindeki kaynak yolu yeniden yazılır.

    无标题文档-流程图

  • Flag parametresi enhance break olarak ayarlandığında, hem kaynak yolu hem de sorgu dizesi yeniden yazılabilir.

    zh-enhance_break

Kullanım notları

  • Tek bir alan adı için en fazla 50 adet Origin Path Rewrite kuralı yapılandırabilirsiniz.

  • Kurallar yukarıdan aşağıya doğru uygulanır. Sıralama, nihai yeniden yazma sonucunu etkiler.

  • Origin Path Rewrite kurallarını yapılandırırken, Domain Names > Optimization sekmesindeki Parametreleri yoksay özelliğiyle çakışma olabilir. Yapılandırma çakışmalarından kaçının.

  • Hem Origin Path Rewrite hem de koşullu kaynak kurallarını yapılandırırsanız, Origin Path Rewrite kuralı kaynak getirme URL yolunu değiştirebilir. Bu durum, kaynak sunucunun aldığı istek yolunun beklenen yoldan farklı olmasına ve 404 hatasına neden olabilir. Sorun giderme amacıyla, isteğin beklendiği gibi çalışıp çalışmadığını görmek için Origin Path Rewrite kuralını geçici olarak devre dışı bırakın. Her iki özelliği de kullanmanız gerekiyorsa, istenmeyen yol yeniden yazmalarını önlemek için kural önceliklerinizi ve koşullarınızı ayarlayın.

  • Değişkenleri kullanarak ince ayarlı yapılandırma kontrolü sağlayabilirsiniz. Daha fazla bilgi için bkz. Değişken referansı.

Access URL Rewrite ve **Origin Path Rewrite** farkları

Özellik

Etkilenen nesne

İstemci deneyimi

Uygulama senaryosu

Erişim URL'lerini yeniden yazma

İstemcinin eriştiği URL'yi etkiler. Ayrıca DCDN düğümünün kaynak getirme için kullandığı URL'yi de değiştirir.

  • Çalıştırma kuralı redirect ise istemci, yönlendirilen URL'yi kullanarak yeni bir erişim isteği gönderir.

  • Çalıştırma kuralı break ise istemcinin gördüğü URL, gerçek erişim URL'si ile aynıdır. Herhangi bir değişiklik olmaz.

Genellikle eski bir alan adından yeni birine URL'leri geçirmek veya eşlemek için kullanılır. Mobil ve masaüstü istemciler için farklı URL'ler sağlamak amacıyla da kullanılabilir.

Örnek: İstemci old.example.com/hello adresine eriştiğinde, erişim URL'si new.example.com/hello olarak yeniden yazılır.

Kaynak Getirme Yolunu Yeniden Yaz

DCDN düğümünün kaynak getirme için kullandığı URL'yi etkiler. İstemcinin eriştiği URL değişmez.

İstemcinin gördüğü URL, gerçek erişim URL'si ile aynıdır. Herhangi bir değişiklik olmaz.

Genellikle kaynak sunucunun gerçek URL yapısını gizleyerek bilgilerini korumak için kullanılır. Ayrıca DCDN düğümünün içeriği farklı kaynak sunucu klasörlerinden alması için URL eşlemesi amacıyla da kullanılır.

Örnek: İstemci cdn.example.com/hello adresine eriştiğinde, kaynak getirme URL'si origin.example.com/source/hello olarak yeniden yazılır.

Access URL Rewrite şeması

image
  1. İstemci, bir DCDN düğümüne istek gönderir. İstek URL'si old.example.com/hello şeklindedir.

  2. DCDN düğümü isteği aldıktan sonra URL yeniden yazma kuralını uygular. DCDN düğümü, istemciye gönderilen 302 yanıtının Location başlığına yeni URL'yi, yani new.example.com/hello değerini ekler.

  3. İstemci 302 yanıtını aldıktan sonra yeni URL'ye bir istek gönderir.

  4. DCDN düğümü önbelleğini kontrol eder. Önbellekte yeniden yazılan URL için içerik varsa düğüm içeriği doğrudan istemciye döndürür. Yoksa DCDN düğümü, kaynak sunucuya yeniden yazılan URL olan new.example.com/hello ile bir istek gönderir.

  5. Kaynak sunucu isteği alır ve yanıt içeriğini DCDN düğümüne döndürür.

  6. DCDN düğümü yanıt içeriğini önbelleğe alır ve istemciye döndürür.

Origin Path Rewrite şeması

image
  1. İstemci, bir DCDN düğümüne istek gönderir. İstek URL'si cdn.example.com/files/hello.txt şeklindedir.

  2. DCDN düğümü isteği aldıktan sonra önbelleğini kontrol eder. Önbellekte istek URL'si için içerik varsa düğüm içeriği doğrudan istemciye döndürür. Yoksa DCDN düğümü kaynak getirme URL'si yeniden yazma kuralını uygular. Kaynak getirme URL'sini origin.example.com/secret/files/hello.txt olarak yeniden yazar ve kaynak sunucuya bir istek gönderir.

  3. Kaynak sunucu isteği aldıktan sonra yanıt içeriğini DCDN düğümüne döndürür.

  4. DCDN düğümü yanıt içeriğini önbelleğe alır ve istemciye döndürür.

Origin path rewrite yapılandırma

  1. CDN konsolunda oturum açın.

  2. Sol gezinme bölmesinde Domain Names seçeneğine tıklayın.

  3. Domain Names sayfasında hedef alan adını bulun ve Actions sütunundaki Manage seçeneğine tıklayın.

  4. Alan adına ait sol taraftaki gezinme bölmesinde Origin Fetch seçeneğine tıklayın.

  5. Origin Path Rewrite sekmesine tıklayın.

  6. Add seçeneğine tıklayın. Path to Be Rewritten, Target Path ve Flag parametrelerini yapılandırın.

    Parametre

    Örnek

    Açıklama

    Path to Be Rewritten

    ^/hello$

    Eğik çizgi (/) ile başlayan ve http:// veya alan adı içermeyen bir URL yoludur. PCRE (Perl Compatible Regular Expressions) deseni kullanmanız gerekir.

    Target Path

    /hello/test

    Eğik çizgi (/) ile başlayan ve http:// veya alan adı içermeyen bir URL yoludur. PCRE desteklenir.

    Flag

    None

    Birden çok kural yapılandırdığınızda bu kural eşleşip çalıştırıldıktan sonra sonraki eşleşen kurallar da sırayla çalıştırılır.

    break

    • Birden çok kural yapılandırdığınızda ve istek URL'si bu kuralı eşleştiğinde sonraki kurallar değerlendirilmez.

    • Yalnızca URL'nin kaynak yolu değiştirilir, URL parametreleri değiştirilmez. Bu nedenle Origin Path Rewrite özelliğinin URL parametrelerinin yeniden yazılmasını etkilemez.

    enhance break

    • Birden çok kural yapılandırdığınızda ve istek URL'si bu kuralı eşleştiğinde sonraki kurallar değerlendirilmez.

    • break gibidir ancak bu bayrak sorgu dizesini de yeniden yazar. Bu durum kaynak getirme parametrelerini yeniden yazma özelliğiyle çakışabilir. Her iki özelliği de kullanıyorsanız yapılandırmalarınızın çakışmadığından emin olun.

  7. Kuralı uygulamak için OK seçeneğine tıklayın.

    Mevcut kuralları yönetmek için Origin Path Rewrite sekmesindeki kural listesinde Modify veya Delete seçeneklerine de tıklayabilirsiniz.

Yapılandırma örnekleri

  • Örnek 1: Flag parametresi None olarak ayarlanır

    Path to Be Rewritten

    ^/hello$

    Target Path

    /index.html

    Flag

    None

    Sonuç

    Orijinal istek: http://example.com/hello

    Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/index.html

    İstek daha sonra Origin Path Rewrite listesindeki sonraki kurallarla eşleştirilir.

  • Örnek 2: Flag parametresi break olarak ayarlanır

    Path to Be Rewritten

    ^/hello.jpg$

    Target Path

    /image/hello.jpg

    Flag

    break

    Sonuç

    Orijinal istek: http://example.com/hello.jpg

    Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/hello.jpg

    Origin Path Rewrite listesindeki sonraki kurallar değerlendirilmez.

  • Örnek 3: Flag parametresi enhance break olarak ayarlanır

    Path to Be Rewritten

    ^/hello.jpg?code=123$

    Target Path

    /image/hello.jpg?code=321

    Flag

    enhance break

    Sonuç

    Orijinal istek: http://example.com/hello.jpg?code=123

    Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/hello.jpg?code=321

    Origin Path Rewrite listesindeki sonraki kurallar değerlendirilmez.

  • Örnek 4: Kök dizindeki değişken yollara önek ekleme

    Örneğin xxx'in değişken bir dosya adı olduğu (örn. /hello.jpg veya /hello.html) /xxx gibi bir URL yolunu /image/xxx olarak yeniden yazabilirsiniz. Bu işlem, kök dizindeki herhangi bir dosyanın yoluna /image önekini ekler.

    Path to Be Rewritten

    ^(.*)$

    Not

    ^ ifadesi dizenin başlangıcını eşleştirir. (.) bir yakalama grubudur; burada . yeni satır karakteri dışındaki herhangi bir tek karakteri, ise önceki karakteri veya grubu sıfır veya daha fazla kez eşleştirir. Hedef Yolda bu grup tarafından yakalanan içeriğe başvurmak için $1 kullanabilirsiniz. $ ifadesi dizenin sonunu eşleştirir. Dolayısıyla ^(.)$ ifadesi tüm dizeyi baştan sona eşleştirir ve yeni satır karakterleri dışındaki tüm karakterleri bir gruba yakalar. Örneğin "hello world" dizesi için ^(.)$ ifadesi tüm dizeyi eşleştirir ve "hello world" ifadesini ilk gruba yakalar.

    Target Path

    /image$1

    Not

    /image ifadesi "/image" dizesini eşleştirir. $1 ifadesi ilk yakalama grubunun içeriğine, $2 ifadesi ikinci yakalama grubunun içeriğine başvurur ve bu şekilde devam eder. Bu nedenle /image$1 ifadesi "/image" dizesinin hemen ardından ilk yakalama grubunun içeriğinin geldiğini belirtir. Örneğin ilk yakalama grubunun içeriği "abc" ise /image$1 ifadesi "/imageabc" dizesini eşleştirir. Unutmayın ki $1 ifadesi yakalama grubunun içeriğine başvurur, "$1" sabit dizesine değil. "$1" sabit dizesini eşleştirmek için "\$1" gibi bir kaçış karakteri kullanmanız gerekir.

    Flag

    break

    Sonuç

    • Orijinal istek: http://example.com/hello.jpg

      Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/hello.jpg

    • Orijinal istek: http://example.com/hello.html

      Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/hello.html

    Origin Path Rewrite listesindeki sonraki kurallar değerlendirilmez.

  • Örnek 5: Belirli bir dizin altındaki yollara önek ekleme

    Örneğin xxx'in herhangi bir dosya adını temsil ettiği (örn. hello.jpg veya hello.html) /live/xxx içeren bir URL'yi /image/live/xxx olarak yeniden yazabilirsiniz. Bu işlem, /live dizini altındaki herhangi bir dosyanın yoluna /image önekini ekler.

    Path to Be Rewritten

    ^/live/(.*)$

    Target Path

    /image/live/$1

    Flag

    break

    Sonuç

    • Orijinal istek: http://example.com/live/hello.jpg

      Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/live/hello.jpg

    • Orijinal istek: http://example.com/live/hello.html

      Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/live/hello.html

    Origin Path Rewrite listesindeki sonraki kurallar değerlendirilmez.

  • Örnek 6: None bayrağı ile kuralları zincirleme

    Etkin iki yeniden yazma kuralını ele alalım. 1. Kural, ^/image_01.png$ ifadesini /image_02.png olarak yeniden yazar ve Flag parametresi None olarak ayarlanır. 2. Kural, ^(.*)$ ifadesini /image$1 olarak yeniden yazar ve Flag parametresi None olarak ayarlanır.

    Sonuç:

    • Orijinal istek: http://example.com/image_01.png

    • Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image/image_02.png

      Not

      İstek önce 1. Kuralı eşleştirir ve http://example.com/image_02.png olarak yeniden yazılır. Flag parametresi None olarak ayarlandığından yeniden yazılan yol daha sonra 2. Kurala göre değerlendirilir ve bu kural da eşleşir. Yol ikinci kez yeniden yazılır ve nihai yol şu hale gelir: http://example.com/image/image_02.png.

  • Örnek 7: break ile kural değerlendirmesini durdurma

    Etkin iki yeniden yazma kuralını ele alalım. 1. Kural, ^/image_01.png$ ifadesini /image_02.png olarak yeniden yazar ve Flag parametresi break olarak ayarlanır. 2. Kural, ^(.*)$ ifadesini /image$1 olarak yeniden yazar ve Flag parametresi None olarak ayarlanır. Bir istek 1. Kuralı eşleştirdiğinde Flag parametresi break olarak ayarlandığından işleme durur ve sonraki kurallar değerlendirilmez.

    Sonuç:

    • Orijinal istek: http://example.com/image_01.png

    • Yeniden yazmadan sonra kaynak getirme isteği: http://example.com/image_02.png

      Not

      İstek önce 1. Kuralı eşleştirir ve http://example.com/image_02.png olarak yeniden yazılır. 1. Kuralın Flag parametresi break olarak ayarlandığından işleme durur ve sonraki kurallar değerlendirilmez.