我在 .htaccess 文件中重写的代码有问题吗

Is there something wrong with my rewrite code in .htaccess file

我已经被这个问题困扰了 3 天,无论我搜索 Google 或阅读 Helion 网站有多么不同,我都无法理解我做错了什么。所以,希望有好心人帮帮我。

我使用 .htaccess 文件来创建搜索引擎友好的 URLS,它已经运行了好几年。

我的网络托管公司现已将我的网站移至新的 Windows IIS8.5 服务器,重写不再有效。他们告诉我正在使用 Helicon Ape(不确定那是什么)。但是,我在 Helicon 网站上找不到任何对我有意义的东西,因为它对我的老退休人员来说太技术化了。

以下是用于旧服务器的代码示例:

# Helicon ISAPI_Rewrite configuration file
RewriteEngine on
RewriteBase /
RewriteRule ^uk-bed-breakfast-(.*)\.htm /bed-and-breakfast/region.asp\?county= [QSA]

这个用来转

www.mydomain.com/bed-and-breakfast/region.asp?county=first

进入

www.mydomain.com/uk-bed-breakfast-first.htm

现在,当我使用第二个 URL 时,我得到的只是一个 404 错误。

我是否需要进行任何更改以符合较新版本的 IIS 或 Helicon Ape Rewrite,如果需要,它们是什么

经过一番艰苦的试验,问题终于解决了。

似乎对于新的 iis8.5 服务器和 Helion Ape,我需要将重写规则放入 web.config 文件而不是 .htaccess 文件。

我在问题中给出的例子的新规则是:

<rule name="Imported Rule 6">
                    <match url="^uk-bed-breakfast-(.*)\.htm" ignoreCase="false" />
                    <action type="Rewrite" url="/bed-and-breakfast/region.asp?county={R:1}" appendQueryString="true" />
                </rule>

使用这个系统,网站终于可以正常运行了。

非常感谢所有试图提供帮助的人。

托格