首页 > 解决方案 > 重定向在 Apache 上不起作用:htm 以 php 处理

问题描述

由于现有页面重新设计为 php,我将 500 多个页面从 htm 处理转换为 php。做到这一点并避免 500 次重定向的最简单方法是简单地将 htm 文件作为 .htaccess 文件中的 php 处理,并在代码中放入 301。

我正在尝试仅使用 .htaccess 文件来执行此操作,因为如果我输入自定义 mime 类型,它将在服务器升级期间被覆盖,这将是灾难性的。我已经尝试了整整两天,包括只是重定向到同名的 php 文件 - 没有重定向工作。我真的只想将 htm 处理为 php。

它是最新的 Apache 服务器,仅次于最新版本的 php。.htaccess 文件采用 ISO-8859-1 字符集。服务器确实读取了 .htaccess 文件。它只是没有做我想要的。

我在 .htaccess 文件中尝试了以下所有方法,但没有任何效果:

RewriteEngine On
RewriteRule ^test_htm_php.htm$ test_htm_php.php
//RewriteRule ^(.+)\.htm$ $1.php [L]
//RewriteRule "!\." "-" [H=application/x-httpd-php]
//RewriteCond %{THE_REQUEST} ^GET\s(.+)\.php [NC]
//RewriteRule ^ %1.htm [R=301,L]
//RewriteRule ^(.*)\.htm$ [H=application/x-httpd-php]
//RedirectMatch 301 (.*)\.htm$ $1.php
//RewriteRule ^(.*)\.htm$ $1.php [NC,L]
//RewriteRule ^(.*)\.htm$ /$1.php [L,NC]

//RewriteCond %{THE_REQUEST} ^GET\s(.+)\.php [NC]
//RewriteRule ^ %1.htm [R=301,L]
//RewriteRule ^(.*)\.htm$ /$1.php [L,NC]

有人有想法么?
您可以尝试以下 URL: https://visualwriter.com/test/test_htm_php.htm - 不作为 php 处理或显示 https://visualwriter.com/test/test_htm_php.php - 不显示

标签: .htaccessredirect

解决方案


推荐阅读