Sonunda eğik çizgi ("/") olmadan böyle bir url isterken bu Yönlendirmeyi (301) gerçekten fark etmedim: http://server/directory
Sunucu, Konum başlığının bulunduğu bir 301 Yönlendirme Kalıcı başlığına sahip olacaktır http://server/directory/
.
Bu canlı örneğe bakın:
Kullanıcı isteği:
GET /social HTTP/1.1
( http://192.168.1.111/social )
Apache Sunucu Yanıtı:
HTTP/1.1 301 Moved Permanently
Location: http://192.168.1.111/social/
Kullanıcı isteği:
GET /social/ HTTP/1.1
( http://192.168.1.111/social/ )
Apache Sunucu Yanıtı:
HTTP/1.1 200 OK
Apache access.log:
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social HTTP/1.1" 301 558 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
-
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social/ HTTP/1.1" 200 942 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
/ Social / dizini bir index.html
dosya içerir .
Apache Yazılımı: Apache/2.2.22 (Ubuntu)
Dizin Seçenekleri:Options Indexes FollowSymLinks MultiViews
Benim sorum şu: Apache bunu neden yapıyor? Ve yönlendirmeyi nasıl önleyebilir ve index.html
doğrudan gönderebilirim ? Müşteriler gerçekten gereksiz iki istek göndermelidir. Ve belki bazı istemciler Yönlendirmelere izin vermez ve eğik çizgi ("/") olmadan siteye gidemez.
Yönlendirmeyi devre dışı bırakmak istemiyorum. Ben herhangi bir yönlendirme olmadan doğrudan yanıt göndermek için sunucu istemiyorum. İstekte bile /social
.
Apache bu istekleri yönlendirecek şekilde mi tasarlandı? Sunucu verileri yönlendirmeden gönderebilir, değil mi? Bunu mod_rewrite
önlemek için? Veya başka bir yapılandırma? Yoksa sadece bu şekilde olmasına izin vermeli ve tüm html bağlantılarının sonuna eğik çizgi eklemeli ve bazı yönlendirmelerle mi yaşamalıyım?
Siz ne düşünüyorsunuz?
index.html
yönlendirme olmadan çıktı istiyorum
/social
. (Ayrıca, genel olarak, aynı içeriğin birden fazla url'de sunulması genellikle istenmez.)
/social
, örneğiniz için 404 ile yanıt vermek olacaktır .