Tüm Ürünler
Search
Belge Merkezi

CDN:Access URL Rewrite

Son Güncelleme:Oct 29, 2026

Kaynak sunucunuzdaki bir kaynağın yolu değiştiğinde, CDNDCDN düğümündeki karşılık gelen yol da değişir. Bir kullanıcı orijinal URL'yi istediğinde, CDNDCDN düğümü URL'yi yeniden yazar ve isteği hedef yola yönlendirir. Bu süreç kaynak sunucudan veri çekme isteklerini azaltır ve istemci erişim performansını artırır.

Arka plan bilgileri

HTTP 302 durum kodu (302 Found), bir kaynağın geçici olarak taşındığını belirtir. Bir URL yeniden yazma kuralı yapılandırdıktan sonra, CDNDCDN düğümü yeni URL'yi HTTP Location üstbilgisine ekler. İstemci 302 yanıtını aldığında yeni URL'yi ister.

Varsayılan olarak, bir URL yeniden yazma kuralı yapılandırıldıktan sonra CDNDCDN düğümleri 302 durum kodu gönderir. 303 ve 307 durum kodları da desteklenir. Durum kodunu değiştirmek için veya bir destek bileti oluşturarak talep gönderebilirsiniz.


Kod


Anlamı


İşleme yöntemi


Tipik uygulama senaryosu


302


Bulundu (Found)


GET yöntemi değişmez. Diğer yöntemler GET yöntemine dönüşebilir.


Sayfa beklenmedik nedenlerle geçici olarak kullanılamıyor. Bu durumda arama motorları bağlantılarını güncellemez.


303


Diğerine Bak (See Other)


GET yöntemi değişmez. Diğer yöntemler GET yöntemine dönüşür. Mesaj gövdesi kaybolur.


PUT veya POST isteği tamamlandıktan sonra sayfa yönlendirmesi için kullanılır. Sayfa yenilendiğinde işlemin tekrar tetiklenmesini önler.


307


Geçici Yönlendirme (Temporary Redirect)


Ne yöntem ne de mesaj gövdesi değişir.


Sayfa beklenmedik nedenlerle geçici olarak kullanılamıyor. Bu durumda arama motorları bağlantılarını güncellemez. Site, GET dışındaki yöntemler için bağlantıları veya işlemleri desteklediğinde bu durum kodu 302'den daha iyidir.

Not
  • Tek bir alan adı en fazla 50 yeniden yazma kuralına sahip olabilir. Birden fazla kural yapılandırıldığında, CDNDCDN konsolundaki URL yeniden yazma listesinde göründükleri sırayla yukarıdan aşağıya doğru çalıştırılırlar.

  • Ayrıntılı yapılandırma denetimi için değişkenler kullanabilirsiniz. Daha fazla bilgi için bkz. Değişken referansı.

Access URL Rewrite ile Origin Path Rewrite arasındaki 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 sunucudan veri çekerken 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 ile gerçek erişim URL'si aynıdır. Herhangi bir değişiklik olmaz.

Genellikle eski bir alan adından yeni bir alan adına 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: Bir istemci old.example.com/hello adresine eriştiğinde erişim URL'si new.example.com/hello olarak yeniden yazılır.

Kaynak Sunucu Erişim Yolunu Yeniden Yazma

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

İstemcinin gördüğü URL ile gerçek erişim URL'si 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 çekmesi için URL eşlemesi amacıyla da kullanılır.

Örnek: Bir istemci cdn.example.com/hello adresine eriştiğinde kaynak sunucu erişim URL'si origin.example.com/source/hello olarak yeniden yazılır.

Access URL Rewrite diyagramı

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 üstbilgisine yeni URL'yi, yani new.example.com/hello adresini ekler.

  3. İstemci 302 yanıtını aldıktan sonra yeni URL'ye 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'yi, yani new.example.com/hello adresini kullanarak 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 diyagramı

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 sunucu erişim URL'si yeniden yazma kuralını uygular. Kaynak sunucu erişim URL'sini origin.example.com/secret/files/hello.txt olarak yeniden yazar ve kaynak sunucuya 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.

Yordam

  1. CDN konsoluna giriş yapı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ının gezinme bölmesinde Cache seçeneğine tıklayın.

  5. Access URL Rewrite sekmesine tıklayın.

  6. Create seçeneğine tıklayın ve erişim URL'lerini yeniden yazmak için parametreleri yapılandırın.

    Parametre

    Açıklama

    Path to Be Rewritten

    Yol bir / karakteriyle başlamalıdır. Protokol başlığını veya alan adını içeremez. ^/hello$ gibi PCRE düzenli ifadeler desteklenir.

    URL'de # karakterinden sonra gelen içerik istemci tarafı parça tanımlayıcısıdır. Tarayıcılar parça tanımlayıcılarını sunucuya göndermez. Bu nedenle DCDN yeniden yazma kuralları # karakterinden sonraki yolla eşleşemez. # parçası içeren bir URL için yönlendirme yapılandırmak üzere # karakterinden önceki yolla tam olarak eşleşen her hedef adres için ayrı bir yeniden yazma kuralı oluşturmanız gerekir.

    Target Path

    • Çalıştırma kuralı Break olarak ayarlanmışsa yol bir / karakteriyle başlamalıdır. Protokol başlığını veya alan adını içeremez.

    • Çalıştırma kuralı Redirect olarak ayarlanmışsa yol protokol başlığını ve alan adını içerebilir. PCRE düzenli ifadeler desteklenir. Örneğin, yeniden yazılacak yoldaki parantez içindeki dizeleri yakalamak için $1 ve $2 kullanabilirsiniz.

    Flag

    • Redirect ve Break varsayılan olarak desteklenir.

      • Redirect: Bir istek URL'si bir kuralıyla eşleşirse istek 302 durum koduyla hedef URL'ye yönlendirilir. CDN düğümünün istemciye döndürdüğü Location üstbilgisi hedef URL'yi içerir. Orijinal URL'deki parametreler değiştirilmez. Bu kural çalıştırıldıktan sonra sistem kalan kurallarla eşleştirmeye devam eder.

      • Break: Bir istek URL'si bir kuralıyla eşleşirse istek hedef URL'ye yeniden yazılır. Orijinal URL'deki parametreler değiştirilmez. Bu kural çalıştırıldıktan sonra sistem kalan kurallarla eşleştirme yapmaz.

    • empty, enhance_break ve enhance_redirect kuralları da desteklenir. Bu kuralları kullanmak için arka planda yapılandırılmaları amacıyla gerekmektedir.

      • empty: Birden fazla kural yapılandırılmışsa ve bir istek URL'si bir kuralıyla eşleşirse sistem mevcut kural çalıştırıldıktan sonra sonraki kurallarla eşleştirmeye devam eder.

      • enhance_break: Break benzeridir ancak parametreler dahil tüm URL'yi yeniden yazar.

      • enhance_redirect: Redirect benzeridir ancak parametreler dahil tüm URL'yi yeniden yazar.

    Not

    Farklı çalıştırma kuralları farklı yeniden yazma yöntemleri kullanır. Ayrıca yeniden yazılan URL'nin başka alan adlarını veya protokolleri kullanıp kullanamayacağı konusunda da farklılık gösterirler:

    • empty, Break ve enhance_break kullanıcının istek URL'sini doğrudan yeniden yazar. HTTP'den HTTPS'ye geçiş gibi başka bir alan adına veya protokole yeniden yazmayı desteklemez.

    • Redirect ve enhance_redirect URL'yi 302 yönlendirmesi kullanarak yeniden yazar. Başka alan adlarına ve protokollere yeniden yazmayı destekler:

      • 302 Location adresi yalnızca mevcut hızlandırılmış alan adı değil farklı bir alan adı olarak da ayarlanabilir. Örneğin bir URL'yi example.com alan adından aliyundoc.com alan adına yeniden yazabilirsiniz.

      • 302 Location adresi diğer protokolleri destekler. Örneğin bir URL'yi HTTP'den HTTPS'ye yeniden yazabilirsiniz.

    Rule Condition

    Bir kural koşulu kullanıcı isteğindeki çeşitli parametre bilgilerini tanımlar. Bu durum yapılandırmanın söz konusu istek için geçerli olup olmadığını belirler.

    Önemli

    Kural koşullarına başvurduğunuzda eşleştirme özelliğin yapılandırma sırasına göre değil ilişkili kural koşullarının önceliğine göre yapılır.

    • Kullanma: Kural koşulu kullanılmaz.

    • Kural koşullarını eklemek veya düzenlemek için bunları Rules Engine bölümünde yönetin.

    Nginx Var

    Bu seçenek varsayılan olarak işaretli değildir. Hedef URL'de yerleşik NGINX değişkenlerini kullanmak için bu seçeneği işaretleyin. Aşağıda bir yapılandırma örneği verilmiştir:

    • Yeniden Yazılacak Yol: ^/test.jpg$

    • Hedef Yol: /test.${arg_type}

    • NGINX değişken hesaplamasını etkinleştirirseniz ${nginx_var} değeri hesaplanır. ${arg_type}, orijinal URL'deki type parametresinin değerini temsil eder.

    Not

    Bu parametreyi kullanmak için arka planda yapılandırılması amacıyla gerekmektedir.

  7. OK seçeneğine tıklayın.

    Yeniden yazma özelliğini yapılandırdıktan sonra kuralı yeniden yazma listesinden Modify veya Delete edebilirsiniz.

Yapılandırma örnekleri

Örnek 1

Bir istemci http://example.aliyundoc.com/hello adresini istediğinde istek yolu /hello olur. DCDN düğümü 302 yanıtının Location üstbilgisine yeni URL'yi http://example.aliyundoc.com/index.html ekler ve yanıtı istemciye döndürür. İstemci ardından http://example.aliyundoc.com/index.html adresine istek gönderir.

Bu kural için Yeniden Yazılacak Yol ^/hello$ olarak, Hedef Yol /index.html olarak ve Çalıştırma Kuralı redirect olarak ayarlanır.

Not

302 yönlendirmesi sırasında Location üstbilgisi protokol ve alan adı içermiyorsa istemci varsayılan olarak orijinal istekteki protokolü ve alan adını kullanır.

Örnek 2

Bir istemci http://example.aliyundoc.com/hello adresini istediğinde istek yolu /hello ^/hello$ düzenli ifadesiyle eşleşir. DCDN düğümü istemciye bir 302 yanıtı döndürür. Yanıt Location üstbilgisinde https://test.aliyundoc.com/index.html hedef URL'sini içerir. İstemci yanıtı aldıktan sonra https://test.aliyundoc.com/index.html adresine istek gönderir.

Yapılandırma kuralı: Yeniden Yazılacak Yol değerini ^/hello$ olarak, Hedef Yol değerini https://test.aliyundoc.com/index.html olarak ve Çalıştırma Kuralı değerini redirect olarak ayarlayın.

Örnek 3

Bir istemci http://www.example.com/cdn/url/http://image.example.com/image/cat.jpg adresini istediğinde istek yolu /cdn/url/http:// içerir ve bu kısım ^/cdn/url/http://(.*) düzenli ifadesiyle eşleşir. DCDN düğümü istemciye bir 302 yanıtı döndürür. Yanıt Location üstbilgisinde http://image.example.com/image/cat.jpg hedef URL'sini içerir. İstemci yanıtı aldıktan sonra http://image.example.com/image/cat.jpg adresine istek gönderir.

Yapılandırma kuralı için Hedef Yol değerini http://$1 olarak ve Çalıştırma Kuralı değerini redirect olarak ayarlayın.

Örnek 4

Bir istemci http://example.aliyundoc.com/stories/index.html#/voice/318 adresini istediğinde URL'nin #/voice/318 kısmı istemci tarafı parça tanımlayıcısıdır. Tarayıcı bu kısmı sunucuya göndermez. DCDN düğümünün aldığı gerçek istek yolu /stories/index.html şeklindedir. Bu nedenle yeniden yazma kuralını yapılandırırken # karakterinden önceki yolla eşleşmesi için Yeniden Yazılacak Yol değerini ^/stories/index\.html$ olarak ayarlayın. Ardından Hedef Yol değerini hedef URL olarak ve Çalıştırma Kuralı değerini Redirect olarak ayarlayın.

Farklı # parçalarına sahip birden fazla kaynak URL'yi farklı hedef URL'lere yönlendirmek için her kaynak yol için ayrı bir yeniden yazma kuralı yapılandırmanız gerekir. Bunun nedeni sunucunun # sembolünden sonraki içeriğe göre URL'leri ayırt edememesidir.

Örnek 5

Alt dizin ana sayfası yapılandırması: Bir istemci alt dizin adına eriştiğinde alt dizinin varsayılan ana sayfa dosyasının döndürülmesi web siteleri için yaygın bir gereksinimdir. Kaynak sunucunuzda değişiklik yapmadan bu özelliği DCDN tarafında erişim URL'si yeniden yazma kullanarak uygulayabilirsiniz. Örneğin ana sayfa dosyası https://www.example.com/cdn/index.html ise yapılandırma etkili olduktan sonra https://www.example.com/cdn veya https://www.example.com/cdn/ adresine yapılan bir istemci isteği ana sayfa dosyasını döndürür.

Kuralları yapılandırmadan önce kaynak sunucudaki alt dizindeki ana sayfa dosyasının erişilebilir olduğundan emin olun. Örneğin https://www.example.com/cdn/index.html adresinin beklendiği gibi döndürülebildiğinden emin olun.

İstemciden gelen istek yolu eğik çizgi (/) ile bitebilir veya bitmeyebilir. Bu nedenle her iki durumu da eşleştirmek için aşağıdaki iki kuralı yapılandırmanız gerekir:

  • Kural 1: Yeniden Yazılacak Yol değerini ^/(.+)/$ olarak, Hedef Yol değerini /$1/index.html olarak ve Çalıştırma Kuralı değerini Break olarak ayarlayın.

  • Kural 2: Yeniden Yazılacak Yol değerini ^/([^.?#]+)$ olarak, Hedef Yol değerini /$1/index.html olarak ve Çalıştırma Kuralı değerini Break olarak ayarlayın.

Yapılandırma etkili olduktan sonra https://www.example.com/cdn gibi bir alt dizine doğrudan erişin. Alt dizinin ana sayfa dosyası beklendiği gibi döndürülüyorsa yapılandırma başarılıdır.