gpt4 book ai didi

coldfusion - 我该如何摆脱? (问号)在标识查询字符串开头的 URL 中?

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

我正在使用 ColdFusion 9.1.2。

我建立了一个新的网站来解析域名和斜线后的查询字符串。剩下的是 MusicianID,然后是一个用于帮助 SEO 的字符串。网址如下所示:

http://awesomealbums.info/?1085/jim-croce
http://awesomealbums.info/?1077/james-taylor

当我使用 Facebook 分享它时,Facebook 删除了问号并对其进行了编码。他们似乎无法解析它,因此将其显示为主页。

这些抛出一个我无法控制的错误:

http://awesomealbums.info/1085/jim-croce
http://awesomealbums.info/1077/james-taylor

我注意到 StackOverlfow 和其他网站能够排除启动查询字符串的问号。我也想这样做。但是,我无法更改任何 IIS 或 CF 管理员设置。我需要对解决方案进行编码。我试过了,但 IIS 告诉我找不到该页面。

我希望我的 URL 看起来像这样:

http://awesomealbums.info/1085/jim-croce // same as above but no ?
http://awesomealbums.info/1077/james-taylor // same as above but no ?

这是我现在用来解析 URL 并获取 MusicianID 的代码。

 <cfscript>
QString = CGI.QUERY_STRING;
if (QString eq "") {
include "Home.cfm";
} else if (QString eq "WhoAmI") {
include "WhoAmI.cfm";
} else {
IndexOfSlash = Find("/", QString);
if (IndexOfSlash eq 5) {
ThisID = left(QString, 4);
if (isNumeric(ThisID)) {
MusicianID = ThisID;
include "Musician.cfm";
}
} else {
location(url="http://www.awesomealbums.info" addtoken="false");
}
}

我怎样才能改变我的网站,以便删除问号并且网络服务器不会变得古怪,并且我可以解析出查询字符串?

最佳答案

您正在查找的关键字是URL 重写。它必须发生在 Web 服务器上,因为您要处理顶级目录中的所有请求。如果您的 Web 服务器是 Apache httpd,您可以这样做:

RewriteEngine on
RewriteRule ^/(\d{4})/([\w-]+)$ /?$1/$2 [L]

RewriteRule ^/(\d{4})/([\w-]+)$ /Musician.cfm?MusicianID=$1 [L]

关于coldfusion - 我该如何摆脱? (问号)在标识查询字符串开头的 URL 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693603/

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