jquery - 如何将 URL 重写为小写而不在服务器上进行两次点击?

标签 jquery coldfusion seo

我正在使用 ColdFusion 8.0.1 和 jQuery 1.4.3。

我正在开发一段代码,使用 jQuery 向 CFC 发出 Ajax 请求。我注意到我发出的每个 Ajax 请求实际上都提交给服务器两次。 (我在 Firebug 中观察到这一点。)第一次命中被迫小写。由于重写,现在小写的第二个命中失败了。

我问过我的老板,他向我指出了 application.cfm 文件中的一些代码,这些代码强制 URL 全部小写,然后使用 CFHEADER 进行了 301 重定向。我注释掉了该代码,我的 Ajax 请求工作得很好。

仍然,出于 SEO 目的,我们需要使用 application.cfm 或 htaccess 文件中的重写强制所有请求为小写。

我知道在 htaccess 文件中执行此类功能是一个更好的主意。

我的问题是,使用 htaccess 文件重写 url 是否真的像 CFHEADER 一样加载页面两次。我要到星期一才能处理这段代码,我想走进去了解选项和最佳答案。

RewriteEngine On
RewriteMap  lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/(.*)$ /${lowercase:$1} [R=303,L]

感谢您的帮助!

最佳答案

Evik,如果 URL 中有大写字母,您只会得到重定向,因此鉴于您的 AJAX 请求 URL 完全在您的控制范围内,只需确保它全部为小写字母开头!

除此之外 - 作为替代方案 - 您可以将一些 RewriteCond 放在 RewriteRule 上,这样重定向就不会发生在您的 AJAX 请求上。无论如何,这些都不是出于 SEO 目的而需要修改的请求,因此最好让它们保持原状。

关于jquery - 如何将 URL 重写为小写而不在服务器上进行两次点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145147/

相关文章:

javascript - 将 json 文件读取为 javascript 对象

冷聚变 10 : Method is not found in component

html - 灯塔报告;目标大小不合适

url - Joomla 网址垃圾

javascript - 适合 100% 窗口大小的 Div 框架

jquery - 如何制作自定义滚动条 jQuery 插件

arrays - ColdFusion 处理数据表 "sent parameters"

unit-testing - Coldfusion - 找不到测试箱

node.js - 使用 NodeJS (wo Angular) 进行 SEO 怎么样?

javascript - 页面滚动时移动设备上的 Fabric (Canvas)