0

我想知道是否可以在不使用 JS 或者以搜索引擎友好的方式更改表单提交数据的方式

我有两种不同的非常基本的形式。第一个包含一个下拉菜单,允许您选择一个主题。另一个用途完全相同,它只允许您在文本框中键入主题(并使用自动完成),而不是从长列表中选择它。

目前,两种表单都以 GET 方法提交数据,因此相同选择的基本提交将导致以下 URL:

http://example.com/subject/?text=XXXXXX

(我正在使用 .htaccess 将 /subject 重写为实际的 php 脚本......)

我想要做的实际上是让 URL 看起来像这样:

http://example.com/subject/XXXXXX

目前我的 .htaccess 将毫无问题地识别这两个 URL,我只是想知道是否有一种方法可以使用没有 JS 或任何 SE 友好方法的第二种方法提交表单

4

4 回答 4

1

为了发送表单,所有 http 客户端(浏览器和 SE,虽然我不知道 SE 是否填写和发送表单)将构建名称=值对。您可以通过触摸表单的 action 属性来更改它(并且可能在发送之前删除变量),但这当然需要 Javascript。

没有 JS,您将无法更改它,因为这就是必须发送表单的方式。

如果您想索引搜索引擎友好的 URL,我认为您最好的选择是使用 .htaccess 指令进行重定向,但这只能在您收到参数化 URL 后发生。

于 2012-08-22T17:47:12.523 回答
1

您可以列出所有 url 的选项,如果 js 被禁用(SE),您将显示此列表(并隐藏表单)。如果启用了 js,则显示表单。

您可以在 css 中隐藏表单并使用 js 将其设置为可见。或者使用js生成整个表单。

于 2012-09-05T11:41:59.333 回答
0

搜索引擎蜘蛛不会提交表单。您必须将列表中您想要的项目放在蜘蛛可以找到它们的页面中的其他位置 - 例如在组合框上方的段落中。您可以将它们放在元描述或关键字标签中,但前提是它们实际上很重要 - 如果谷歌决定您试图在页面中进行过多的优化,它将惩罚您的排名。

于 2012-09-05T11:35:31.970 回答
0

根据我的经验,最优化的解决方案是添加一个固定 URL 格式的小解析器脚本,并对新链接进行 302 重定向。

换句话说,假设表单提交了以下链接:

http://example.com/subject/?text=XXXXXX

PHP 脚本将接收链接,将部分:?text=XXXXXX 替换为 XXXXXX,并将用户重定向到新页面。

该解决方案将为我们节省 .htaccess 的复杂性,并让我们在未来维护表单时更加灵活。

于 2014-02-21T12:51:13.780 回答