2015-11-25 6 views
5

Eğer bu sorulmuşsa özür dileriz ... iyi bir cevap bulamadı. Bazı ASP öğreticiler bu kodu gösterir şunlardır:404 sayfasından yeni bir sayfaya ASP.Net kullanarak yeniden yönlendirin

<% 
    Response.Redirect "http://www.w3schools.com" 
    %> 

ama nerede orijinal dosya var olmayan ise de bu kodu koymak? ve insanlar eski dosyaya erişmeye çalışırlarsa, sunucuya OLD dosyasından NEW dosyasına geçmesini söylemek için orijinal dosyayı koymama gerek yok mu?

Bir .htaccess dosyasında PHP kullanarak yeniden yönlendirmeyi kabul eden bir sunucu için nasıl yönlendirme yapacağımı biliyorum. Ama üzerinde çalıştığım bu site, genellikle çalıştığım kodu kabul etmeyecek.

404 sayfa gösterecektir: '/ pagehere' Uygulamasında

Sunucu Hatası. Kaynak bulunamıyor. Açıklama: HTTP 404. Aradığınız kaynak (veya bağımlılıklarından biri) kaldırılmış olabilir, adı değiştirilmiş veya geçici olarak kullanılamıyor olabilir. Lütfen aşağıdaki URL'yi inceleyin ve doğru yazıldığından emin olun.

İstenen URL:/pagehere

Sürüm Bilgileri: Microsoft .NET Framework Sürüm: 4.0.30319; ASP.NET Sürüm: 4.0.30319.34280

Eski sayfa.php'den newpage.php'ye yönlendirme yapmak istiyorum. oldpage.php artık mevcut değil.

Whate dosyası oluşturmak veya düzenlemek ve yönlendirme için hangi kodu kullanırım? Teşekkürler!

+0

İstenen URL'yi kullanan ve yeni bir konuma yönlendiren özel bir hata sayfası yapılandırabilirsiniz. Ama neden orijinal dosya artık ilk etapta kullanılamaz? Senin dağıtımının bir parçası değil mi? – Dbuggy

+1

[IIS Url Rewriter] 'ı (http://www.iis.net/downloads/microsoft/url-rewrite) kontrol edin. Tam olarak ihtiyacın olanı yapar. –

+0

İyi dosyalar silinebilir veya başka bir yere taşınabilir. Bu benim sitem değil. Sadece üzerinde çalışıyorum. ancak dosyanın konumu hala endeksli olduğundan, en iyi SEO uygulaması 301 dosyasını yeni konumuna yönlendirir veya istenen konumu yapar. Soru "neden orijinal dosya mevcut değil" olmamalı? Sadece kodun hangi yönlendirme kodunu kullanacağını ve kodu hangi dosyaya koyacağını bilmem gerekiyor. Dosyalar herhangi bir web sitesinde silinebilir veya taşınabilir.Bu yüzden 404 ve 301 durum kodu var. – thomas

cevap

1

web.config öğelerinizi denetleyebiliyorsanız, kalıcı yönlendirmeler ekleyebilirsiniz.

İyi hızlı başvuru bu siteden https://www.stokia.com/support/misc/web-config-response-redirect.aspx

de, tek tek yönlendirmeleri yapabilir olduğunu.

<configuration> 
    <location path="bing.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://bing.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="google.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://google.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="yahoo.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://yahoo.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
</configuration> 

Burada location etiketi altında oldpage.html yerleştirir.

<location path="oldpage.html"> 

Sonra httpRedirect etiketi uder newpage.html yerleştirir.

<httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 

Bunun gibi kombine edilmiştir.

<location path="oldpage.html"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 
    </system.webServer> 
</location> 
+0

ama ** orjinal ** URL'nin nerede olduğunu nasıl biliyorsunuz? kullanıcı oldpage.html dosyasını tıkladıysa, eski sayfanın yeni sayfaya yönlendirilmesi için kodu nasıl düzenlerdiniz? oldpage.html, newpage.html? Kodunuz hedefi gösterir, ancak kaynağı gösterir. Sunucu bana web.config dosyasını gösteriyor, bu yüzden üzerinde kontrol sahibi olduğumu farz ediyorum. Yönlendirme işlemini .htaccess ile yapmaya çalıştım ama işe yaramadı (htaccess'in asp ile iyi çalışmadığını varsayalım). – thomas

+0

Cevabı daha fazla ayrıntı ile güncelledim. Temel olarak, orijinal sayfayı 'location' etiketi ve' httpRedirect' altındaki hedefe yerleştirirsiniz. IIS kullanıyorsanız, .htaccess çoğu durumda kullanılamaz. – Kirk

+0

Denediğimde 500 hata veriyor. Bu, web.config dosyasının neye benzediğidir. Güvenlik nedeniyle bazı verileri sildim. http://pastebin.com/FWKLuM9j Bu yönlendirme kodunu nereye koyacağınızı anlamaya çalışıyorum. 'altındaki' 'etiketini ve' 'altındaki' 'etiketini koydum ama 500 hata alıyorum. – thomas