我在stackoverflow上读了三个以上的问题,但它们都有以下问题之一:
- 它重定向php到htm(没有发现出现,我已经有php文件的地方)
- 当您输入*.htm时,它将被重定向到*.php(我希望访问者看到*.htm而不是*.php)
我来总结一下,我需要输入index。htm apache会将其重定向到。php但在地址栏中,我还是希望看到。htm而不是。php
RewriteEngine on
RewriteRule ([^/]*)'.htm$ $1.php [PT]
请查看http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule以获取所有可用选项,包括您可能想要包含的其他标志-例如QSA
。
注意,RewriteEngine on
行(以及Options FollowSymLinks
-参见上面链接到的文档)是必要的,如果你还没有在其他地方。您可能还需要在主Apache配置中使用AllowOverride FileInfo
来启用.htaccess
文件。
请注意,PT
标志不是严格必需的,因为如果Apache确定它可以在没有重定向的情况下完成请求,它是默认的。
这是我刚从谷歌搜索中发现的另一个结果,它显示了与我在这里描述的几乎相同的东西:http://corz.org/serv/tricks/htaccess2.php(具体显示了围绕.htm -> .php翻译的一些规则)
嗨,这很容易做到:在你的。htaccess中,你会有一个这样的重定向:
RewriteRule ^(.*).htm$ $1.php [QSA]
RewriteRule ^(.*).html$ $1.php [QSA]