2011-08-01 37 views
0

如何使用的JavaScript和/或的.htaccess映射为一个请求:如何使用JavaScript&.htaccess进行搜索引擎优化?

http://example.com/map/new_york

到:

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

,而用户看到的URL重定向?

UPDATE

因为似乎有很多混乱的在这里,我将提供更多的细节。我想为我的地图应用程序完成搜索引擎优化(SEO)。地图位于我的网络服务器http://example.com/map。我想让人们深入链接到他们选择的城市,形式为http://example.com/map/?city=new_york。由于我需要搜索引擎优化,因此网址应该如下所示:http://example.com/map/new_york。如果不使用任何类型的服务器端编程(PHP/Python/etc),我怎样才能用JavaScript和/或.htaccess完成这个用例?

+0

您的意思是重定向? – 2011-08-01 23:43:48

+1

为什么你需要在第一时间做到这一点? – eaglestorm

+0

我已更新我的原始帖子以提供更多详细信息。 – Jacjoi

回答

3

不能使用JavaScript来做到这一点。

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

请参阅此链接创建在.htaccess文件“重写”条目:

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

(有大量的资源在互联网上要做到这一点,搜索“的.htaccess重写”

修订

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

这应该改写为0,所有的请求至/map?city=[ANYTHING]

+0

我在互联网上找到的所有东西都会强制重定向。我不想让用户重定向到/?city = ...页面。我如何克服这一点? – Jacjoi

+1

重写不是重定向。向你的.htaccess添加“重写”规则将使apache接受对/ map/city的请求,并将其实际映射到你的实际文件/ querystring组合 - 这不是重定向,用户将得到响应他们原来的要求。 – rkaregaran

+0

这将*总是*是这种情况。浏览器怎么知道'http:// example.com/page1''指向''http:// example.com/page2''?你*可以*使用Javascript和''window.location'',但这仍然是2个请求。此外,许多搜索机器人不会做JavaScript,所以依靠Javascript是不好的SEO练习。 – Carpetsmoker

0
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/

+0

这不起作用。我已更新我的原始帖子以提供更多详细信息。 – Jacjoi