【问题标题】:How to use JavaScript & .htaccess for SEO?如何使用 JavaScript 和 .htaccess 进行 SEO?
【发布时间】:2011-10-17 20:35:33
【问题描述】:

我怎样才能使用only JavaScript 和/或 .htaccess 来映射请求:

http://example.com/map/new_york

到:

http://example.com/map?city=new_york

用户没有看到 URL 重定向?

更新

由于这里似乎有很多混乱,我将提供更多详细信息。我想为我的地图应用程序完成搜索引擎优化 (SEO)。该地图位于我的网络服务器http://example.com/map。我想让人们以http://example.com/map/?city=new_york 的形式深度链接到他们选择的城市。因为我想要 SEO,所以 URL 应该看起来像:http://example.com/map/new_york

在不使用任何类型的服务器端编程(PHP/Python/等)的情况下,我如何仅使用 JavaScript 和/或 .htaccess 来完成这个用例?

【问题讨论】:

  • 为什么首先需要这样做?
  • 我已经更新了我的原始帖子以提供更多详细信息。

标签: javascript .htaccess web-applications seo


【解决方案1】:
var url = 'http://example.com/map/new_york';
var u = url.split("/");
document.write(u[0]+'/'+u[1]+'/'+u[2]+'/'+u[3]+'?city='+u[4]);

http://jsfiddle.net/NzXmd/

【讨论】:

  • 这行不通。我已经更新了我的原始帖子以提供更多详细信息。
【解决方案2】:

您不能使用 JavaScript 来执行此操作。

但是,如果您在托管您网站的网络服务器上安装了 mod_rewrite,则可以通过 .htaccess 执行此操作。

查看此链接以在您的 .htaccess 文件中创建“重写”条目:

http://corz.org/serv/tricks/htaccess2.php

(网上有很多资源可以做到这一点,搜索“.htaccess rewrite”

更新

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^map/([^/]+) /map?city=$1 [NC]

这应该将所有对map/[ANYTHING]的请求重写为/map?city=[ANYTHING]

【讨论】:

  • 我在 Internet 上找到的所有内容都表明 Apache 将强制重定向。我不希望用户被重定向到 /?city=... 页面。我该如何克服这个问题?
  • 重写不是重定向。向您的 .htaccess 添加“重写”规则将使 apache 接受对 /map/city 的请求,并将其在后端实际映射到您的实际文件/查询字符串组合 - 这不是重定向,用户将收到对他们最初的要求。
  • 这将总是如此。浏览器还应该如何知道http://example.com/page1 指向http://example.com/page2?您可以使用 Javascript 和 window.location,但这仍然是 2 个请求。此外,许多搜索机器人不使用 Javascript,因此依赖 Javascript 是不好的 SEO 做法。
  • @rkaregaran,你介意我使用的实际重写规则更具体吗?我无法让它工作。谢谢
  • @Jacjoi,请参阅我修改后的答案。让我知道这是否有效或您遇到的错误。
猜你喜欢
  • 1970-01-01
  • 2016-07-15
  • 2015-03-26
  • 2015-03-30
  • 2013-01-11
  • 2015-11-03
  • 2012-09-02
  • 1970-01-01
  • 2017-03-03
相关资源
最近更新 更多