我在托管服务器 (Hostek.com) 上使用 Microsoft-IIS/7.5
我有一个现有的网站,在 Google 中有 2,820 个索引链接。您可以通过以下方式在 Google 上搜索查看结果:site:flyingpiston.com 大多数页面都使用 section、makerid 或 bikeid 来获取正确的信息。大多数链接如下所示:
flyingpiston.com/?BikeID=1068
flyingpiston.com/?MakerID=1441
flyingpiston.com/?Section=Maker&MakerID=1441
flyingpiston.com/?Section=Bike&BikeID=1234
在新站点上,我正在使用 .htaccess 进行 URL 重写。新的 URL 将如下所示:
flyingpiston.com/bike/1068/
flyingpiston.com/maker/1123/
基本上,我只想使用我的 htaccess 文件来引导任何带有“?”的请求。问号直接在它的coldfusion页面中调用redirect.cfm。在此页面上,我将使用 ColdFusion 编写自定义 301 重定向。ColdFusion 的重定向如下所示:
<cfheader statuscode="301" statustext="Moved Permanently">
<cfheader name="Location" value="http://www.newurl/bike/1233/">
<cfabort>
那么,如果我想将带有问号的所有内容推送到特定页面,我的 htaccess 文件需要看起来像什么?这是我尝试过的,但它不起作用。
RewriteEngine on
RewriteRule ^? /redirect.cfm [NS,L]
更新。使用下面的建议,我正在使用这个规则:
RewriteRule \? /redirect/redirect.cfm [NS,L]
尝试推送此请求
http://flyingpiston2012-com.securec37.ezhostingserver.com/?bikeid=1235
到这个页面:
http://flyingpiston2012-com.securec37.ezhostingserver.com/redirect/redirect.cfm