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

时间:2017-04-18 17:13:46

标签: apache .htaccess url-rewriting httpd.conf

首先让我道歉,如果之前有人问过/已经回答过。我做了搜索,找不到我要找的东西。有些问题很接近,但还不够。再次为重复道歉。

其次,我的工作一直是用IIS,因此我的apache知识有限,所以我很抱歉要求一点额外的"手持"当我学习如何解决这个问题。非常感谢你的帮助。

现在我的问题......

我有 http://www.mycompany.com/internalUser/[className]/beginClass.htm ,其中[className]是动态的,例如 French101 Biology210 ,但每个 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>

也在.htaccess文件中创建,但两者都没有。当我尝试打开.htm时,它不会重定向或打开.cfm版本。 .htm文件仍在打开。

提前感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

使用以下内容进行重写,

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