【问题标题】:html post from subfolder - post url includes top level site in URL来自子文件夹的 html 帖子 - 帖子 url 在 URL 中包含顶级站点
【发布时间】:2016-03-14 04:08:43
【问题描述】:

我有一个网站:

example.com/index.html

有一个子文件夹(subsite):

example.com/subsite/different_index.html

different_index.html 包含一个表单:

<FORM action="different_index.html?action=edit">

但是,当单击此表单上的提交输入按钮时,页面会尝试重定向到:

example.com/subsite/subsite/different_index.html

我已尝试将表单操作设为所需的确切 url:

<FORM action="example.com/subsite/different_index.html?action=edit"> <!-- target self -->

但我仍然得到:

example.com/subsite/subsite/different_index.html

子网站在 URL 中重复。

任何想法如何正确定位此表单?

【问题讨论】:

  • 您是否有一个实际的子站点(具有不同的域),或者您是否在站点中只有一个子文件夹(这不是子站点)。
  • 其余的设置是什么样的?还有其他可能导致重定向的原因吗?
  • @ScottMarcus,它是一个子文件夹。顶级域“example.com”的一部分。

标签: html forms html-formhandler http-post


【解决方案1】:

你有一个表格的事实实际上是无关紧要的。您真正要问的是关于引用资源的问题,规则非常简单:

  1. 如果你需要的资源是同一个网站的一部分(这里不谈文件夹结构,谈域名),你应该使用相对路径,其中:

    一个。如果资源与当前加载的文档位于同一文件夹中,则只需 fileName.ext

    b. folderName/fileName.ext 是您需要的文件,如果您需要的文件位于加载文档所在的当前文件夹的子文件夹中。

    c。 ../fileName.ext 是如果您需要的文件比当前文档的文件夹高一个目录时使用什么。如果您需要上一层以上,可以重复 ../(即 ../../fileName.ext)。

    d。 /fileNameext/folderName/fileName.ext 表示应该从网站的根目录开始找到指定的文件或文件夹,而不管当前文档在哪里。

  2. 如果您需要的资源位于另一个域中,您将使用绝对路径 (http://something.something/file.ext)。

    一个。不要对本地资源使用绝对路径!这可能会起作用,但会导致必须再次解析域名,从而导致加载时间更长。

警告:不同的服务器有不同的配置和要求,可能会影响这些参考规则是否有效。例如,GoDaddy 虚拟主机在网站根目录提供了一个“httpDocs”文件夹。您不必使用它,但这是他们的服务器期望放置网站内容的地方。不遵守这些规则会导致相对路径不起作用。此外,许多服务器托管在具有区分大小写文件系统的操作系统上,因此请始终以实际使用的相同大小写来引用文件和文件夹。同样,在您进行开发时,在本地不这样做可能对您有用(因为您尚未将文件移动到远程服务器),但不要让您认为这种情况无关紧要。

【讨论】:

  • 天哪!对正确的综合答案投了反对票,但没有对原因发表任何评论。
  • 我也有同样的想法,@ScottMarcus。我支持他回到零。 ;-)
  • @KirbyL.Wallace 谢谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
相关资源
最近更新 更多