2012-07-13 79 views
1

我不是ASP程序員。當這個系統建立在PHP上時,人們仍然使用鏈接。無法將舊的PHP URL重定向到新的ASP頁面

舊的URL:www.domain.com/shop/more.php

新的URL:www.domain.com/shop/more.asp

它現在運行在Windows服務器沒有安裝PHP。如果我創建舊的PHP文件,則在訪問時要求用戶下載.php文件。

我的研究採取了我的學習,我可以通過編輯web.config文件(無論是在根目錄或網頁的文件夾),但我所有的改變都造成任何錯誤或做任何事情解決這個問題。

我也認爲只是使默認的404頁面重定向到正確的頁面中的問題,但我嘗試已經找到了相同的結果。

有沒有人有任何見解?有沒有辦法找出該網站運行的ASP版本?

+0

只是爲了澄清:當人們訪問'www.domain.com /店/ more.php',你希望他們很難重定向到'www.domain.com /店/ more.asp'?我問,因爲我不知道你是否試圖徹底切斷more.php或想要對這個折舊網頁進行特殊處理。如果你想硬重定向,然後嘗試重新創建舊的PHP頁面沒有任何用處。我想我對你想如何路由請求感到困惑。 – 2012-07-13 02:10:37

+0

是的。我希望訪問「www.domain.com/shop/more.php」的用戶自動重定向到「www.domain.com/shop/more.asp」。 – Tony 2012-07-13 02:38:11

回答

0

你應該能夠使用JavaScript重定向如果PHP不工作:

<script type="text/javascript"> 
    window.location = "more.asp"; 
</script> 
+0

您不理解。 PHP未在服務器上運行。如果用戶去了。由於服務器不知道如何打開文件,PHP頁面被要求下載PHP文件。放置JavaScript重定向不會呈現。解決方案必須更加全球化。就像路由系統一樣。 – Tony 2012-07-13 08:19:42

-1

在這種情況下,你應該將IIS服務器上安裝PHP =>http://php.iis.net/ 據我知道你不能告訴IIS將php文件渲染爲其他內容。

+0

是否可以在不重啓apache或訪問服務器設置的情況下安裝它? – Tony 2012-07-13 09:54:49

+0

不,服務器無法識別文件擴展名,因此不是解析它,而是將其作爲可下載文件發送給用戶。我正在考慮使用isapi,但是你必須安裝軟件。 – nhalink 2012-07-13 11:03:48

0

用於該用途的web.config:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
     <rewrite> 
      <rules> 
       <rule name="CanonicalHostNameRule" stopProcessing="true"> 
        <match url="(.*)" /> 
        <conditions> 
         <add input="{HTTP_HOST}" pattern="^www\.example\.com/something.php" negate="true" /> 
        </conditions> 
        <action type="Redirect" url="http://www.example.com/something.aspx" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

從未使用ASP在我的生活所以這可能無法正常工作,但希望它會導致你在正確的軌道上。

祝你好運!

NINJA編輯:

剛剛發現這可能幫助?

<add name="en_index" 
       redirect="Domain" 
       ignoreCase="true" rewriteUrlParameter="IncludeQueryStringForRewrite" 
       virtualUrl="http://mysitename/en/(.*).php" 
       redirectMode="Permanent" 
       destinationUrl="http://mysitename/en/$1.aspx" /> 

可能對您有幫助嗎?

,我借這個從這裏(向下滾動): http://our.umbraco.org/forum/core/general/14366-redirect-html-to-aspx

同樣,祝你好運!

相關問題