İç ve dış yönlendirmeler için drupal_goto () kullanmanız gerekir .
Harici yönlendirmeler için 'external' seçeneğini kullanın:
drupal_goto($url, array('external' => TRUE));
drupal_goto ($ path = '', $ options = array (), $ http_response_code = 302)
$ options: (isteğe bağlı) Aşağıdaki öğelere sahip, bir seçenek ek seçenek dizisi:
- 'query' : URL'ye eklenecek bir sorgu anahtarı / değer çiftleri dizisi (URL kodlaması olmadan).
- 'fragment' : URL'ye eklenecek bir fragman tanımlayıcısı (çapa adında). Baştaki '#' karakterini eklemeyin.
- 'absolute' : Varsayılan olarak FALSE. Çıktının mutlak bir bağlantı olmaya zorlanıp zorlanmayacağı (http :) ile başlar. RSS beslemesi gibi, site dışında görüntülenecek bağlantılar için kullanışlıdır.
- 'alias' : Varsayılan olarak FALSE. Verilen yolun zaten bir URL takma adı olup olmadığı.
- 'external' : Verilen yolun harici bir URL olup olmadığı.
- 'dil' : İsteğe bağlı bir dil nesnesi. Bağlanan yol sitenin içindeyse, URL'nin diğer adını aramak için $ options ['language'] kullanılır. $ Options ['language'] atlanırsa, global $ language_url kullanılacaktır.
- 'https' : Bu URL'nin güvenli bir yere işaret edip etmemesi gerektiği. Tanımlanmamışsa, geçerli şema kullanılır, böylece kullanıcı sırasıyla HTTP veya HTTPS'de kalır. TRUE, HTTPS'yi ve FALSE, HTTP'yi zorlar, ancak HTTPS yalnızca 'https' değişkeni TRUE olarak ayarlandığında zorlanabilir.
- 'base_url' : Dile bağlı bir URL gerektirdiğinde temel URL'yi değiştirmek için yalnızca dahili olarak kullanılır.
- 'önek' : Dile bağlı bir URL gerektirdiğinde yolu değiştirmek için yalnızca dahili olarak kullanılır.
- 'script' : 'index.php' gibi temiz URL'ler devre dışı bırakıldığında kullanılacak Drupal'ın kök dizinindeki komut dosyası adı. Çoğu modern web sunucusu otomatik olarak 'index.php'yi bulduğundan, varsayılan olarak boş bir dize. Temiz URL'ler devre dışı bırakılırsa, $ yolunun değeri, döndürülen URL'deki $ q seçeneklerine ['script'] 'q' sorgu parametresi olarak eklenir. Drupal'ı index.php'yi otomatik olarak bulmak üzere yapılandırılamayan bir web sunucusunda dağıtırken, bu değeri 'index.php' zorlamak için hook_url_outbound_alter () uygulanabilir.
- 'entity_type' : url () adlı nesnenin varlık türü. Sadece url () entity_uri () tarafından çağrılırsa ayarlanır.
- 'varlık' : URL'nin üretildiği varlık nesnesi (düğüm gibi). Sadece url () entity_uri () tarafından çağrılırsa ayarlanır.
$ http_response_code: (isteğe bağlı) Yeniden yönlendirme için kullanılacak HTTP durum kodu, varsayılan değer 302'dir. 3xx yeniden yönlendirme durum kodları için geçerli değerler RFC 2616'da ve yeni HTTP durum kodları için taslakta tanımlanmıştır:
301: Kalıcı Olarak Taşındı (çoğu yönlendirme için önerilen değer).
302: Bulunan (varsayılan olarak Drupal ve PHP'de, bazen arama motorlarını spam göndermek için kullanılır).
303: Diğerine bakınız.
304: Değiştirilmedi.
305: Proxy kullanın.
307: Geçici Yönlendirme.
Drupal 8
Drupal 8, drupal_goto fonksiyonunu kaldırdı , harici URL'ye yönlendirme için şu cevaba bakınız : Bir harici URL'ye nasıl yönlendirebilirim? .