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,而不需要破解的LocationMatch或类似程序?理想情况下,除了HTTP状态代码不应为200之外,我希望使用正常的文件服务语义

感谢您的澄清评论。

在回答你的两个问题时,我想说:

  1. 是的,301是正确的答案。这将意味着旧页面被永久移动,并将用户重定向到带有链接的间隙页面。

  2. 您可以通过在旧页面所在的目录中的.htaccess文件中添加一行来实现这一点(假设您也保留了新页面)。或者,您可以在httpd.conf主文件中添加一行。线条看起来是这样的:

.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消失了"。这表示资源根本不存在,而是将客户端指向一个错误页面。然后,您可以自定义错误页面以包含指向页面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

最新更新