为了账号安全,请及时绑定邮箱和手机立即绑定

如何在.htaccess中隐藏.php扩展名

如何在.htaccess中隐藏.php扩展名

PHP
米琪卡哇伊 2019-10-09 14:44:17
我正在尝试隐藏.php文件扩展名,但由于某种原因无法使其正常工作。我最近的尝试是:<IfModule mod_rewrite.c>   RewriteEngine on   RewriteRule ^folder/([a-zA-Z_\-0-9]+)/?$ /folder/$1.php</IfModule>我尝试了许多在网上找到的各种代码变体,但仍然没有运气。.htaccess文件位于根目录中。
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

使用PHP脚本无扩展名的另一种选择是


Options +MultiViews

甚至只是跟随目录.htaccess:


DefaultType application/x-httpd-php

后者允许将所有文件名而不将其扩展名script视为PHP脚本。虽然MultiViews使Web服务器寻找替代方案,但是仅提供了基本名称(但是,这会对性能造成影响)。


查看完整回答
反对 回复 2019-10-09
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

1)您确定已启用mod_rewrite模块吗?校验phpinfo()


2)您的上述规则假定URL以“文件夹”开头。这个对吗?您是否真的想在URL中包含文件夹?这将与以下网址匹配:


/folder/thing -> /folder/thing.php

如果你真的想要


/thing -> /folder/thing.php

您需要从匹配表达式中删除文件夹。


我通常使用它来将请求路由到没有php的页面(但是您的应该可以工作,这使我认为可能未启用mod_rewrite):


RewriteRule ^([^/\.]+)/?$ $1.php  [L,QSA]

3)假设您在.htaccess文件中声明规则,那么您的安装是否允许在.htaccess文件中设置选项(AllowOverride)替代?一些共享主机没有。


当服务器找到.htaccess文件(由AccessFileName指定)时,它需要知道该文件中声明的指令可以覆盖早期的访问信息。


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 511 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信