gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:11 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com