2012-10-01 54 views
0

我有一個網頁,其信息必須分成兩個單獨的頁面。我想遊客告知的事實,現在有兩個不同的頁面,從而起到老單頁網頁的用戶自定義錯誤頁像HTTP:將網頁信息分爲兩頁的語義

(Depending on who you are,) the page you want is either of these: 

    *Link to page A* 
    *Link to page B* 

這應該是HTML(服從一般的網頁網站風格)。

,我是不清楚的語義和Apache配置

  1. 什麼HTTP狀態代碼服務的東西呢?有301 Moved Permanently,但我有不止一個選擇提供。
  2. 是否有可能配置apache到我的需要沒有hacky LocationMatch或類似的?理想情況下,我想使用正常的文件服務語義,但HTTP狀態代碼不應該是200.
+0

嘿喬所以,我有點不清楚你搭售做什麼。您是否希望用戶被重定向到帶有*鏈接*的*一個*插頁式頁面到頁面A和頁面B,或者它們是否立即被引導到兩個新的分離頁面之一。如果是後者,什麼決定了他們被引導到哪個頁面?謝謝。 – pieman72

+0

@ pieman72:前者:我想爲他們提供上面描述的頁面(編輯:明確指出這些是鏈接)。理想情況下,這應該不是重定向,而只是舊頁面(內容替換),因此不需要配置重定向。 –

回答

0

感謝您的澄清評論。

在回答你的兩個問題,我會說:

  1. 是,301是給正確的反應。這會說舊網頁已永久移動,並會將用戶重定向到帶有鏈接的插頁式頁面。

  2. 您可以通過在舊單頁頁面所在的目錄(假設您也保留新頁面)中的.htaccess文件中添加一行來完成此操作。或者你可以添加一條線到你的主httpd.conf file。該線路是這樣的:

的.htaccess

Redirect 301 ./old_page.html ./new_interstitial_page.html 

的httpd.conf

Redirect 301 /path/to/old_page.html /path/to/new_interstitial_page.html 

編輯:沒有任何更多的背景下,這確實聽起來像一個重定向方案。用HTTP術語來說,曾經在舊位置可用的「資源」現在可以在新位置(部分位置)使用,因此您可以將客戶端「重定向到」新位置或插頁式頁面。

但是,如果這看起來不適合你,你可以嘗試一下「410 Gone」。這表示資源不再存在,而是將客戶端指向錯誤頁面。然後,您可以自定義錯誤頁包含指向網頁A和B.頁你的.htaccess會是這個樣子:

# Enable URL matching and match the old page with "Gone" (G), "Last rule" (L) 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^oldPage.html$ - [G,L] 
</IfModule> 

# Special 410 page with links to Page A and Page B 
ErrorDocument 410 /path/to/custom/410-page.html 
+0

我想我的問題仍然不清楚。我希望「插頁式」頁面成爲一個錯誤頁面(它應該與一個錯誤代碼一起提供,以使其在語義上正確)。 –

+0

我已編輯我的答案,包括如何拋出自定義錯誤,但我仍然認爲這聽起來像一個重定向的情況。儘管如此,儘管如此,因爲我不在你的情況:) – pieman72