Apache URL重写将文件扩展名从.htm更改为.cfm

Apache URL重写将文件扩展名从.htm更改为.cfm,apache,.htaccess,url-rewriting,httpd.conf,Apache,.htaccess,Url Rewriting,Httpd.conf,首先,如果之前有人问过/回答过这个问题,请允许我道歉。我搜索了一下,没找到我要找的东西。有些问题很接近,但还不够。再次为重复道歉 第二,我的工作一直都是在IIS上,因此我的apache知识有限,所以再次为我在学习如何解决这个问题时要求额外的“握手”表示歉意。非常感谢所有人的帮助 现在回答我的问题 我有其中[className]是动态的,例如French101或Biology210,但每个都有beginClass.htm 我需要做的是重新编写URL,将beginClass.htm更改为beginC

首先,如果之前有人问过/回答过这个问题,请允许我道歉。我搜索了一下,没找到我要找的东西。有些问题很接近,但还不够。再次为重复道歉

第二,我的工作一直都是在IIS上,因此我的apache知识有限,所以再次为我在学习如何解决这个问题时要求额外的“握手”表示歉意。非常感谢所有人的帮助

现在回答我的问题

我有其中[className]是动态的,例如French101Biology210,但每个都有beginClass.htm 我需要做的是重新编写URL,将beginClass.htm更改为beginClass.cfm

我不确定的是,重写代码应该放在哪里-在/internalUser文件夹中的httpd.conf或.htaccess文件中

此外,我还尝试了以下示例,将其添加到为internalUser创建的目录标记中

--从httpd.conf复制

Alias /internalUser "c:/iUser/training"
<Directory "c:/iUser/training">
    RewriteEngine on
    RewriteBase "/iUser/training"

    RewriteCond "$1.cfm" -f
    RewriteCond "$1.htm" !-f
    RewriteRule "^(.*).htm$" "$1.cfm"
</Directory>
Alias/internalUser“c:/iUser/training”
重新启动发动机
重写基础“/iUser/培训”
重写第二个“$1.cfm”-f
重写第二个“$1.htm”-F
重写规则“^(.*.htm$”“$1.cfm”
也在.htaccess文件中创建,两者都不起作用。当我试图打开.htm时,它不会重定向或打开.cfm版本。.htm文件仍在打开中

提前感谢您提供的所有帮助。

请使用下面的内容进行重写

RewriteEngine On
RewriteRule ^internalUser/([^\/]+)/beginClass.cfm$ internalUser/$1/beginClass.htm [L]

谢谢你的建议。这会去哪里?httpd.conf或.htaccess文件?到目前为止,我还不能确定这些重写规则应该放在哪里。感谢您在您的根目录中尝试。htaccess。