为什么我无法使用 .htaccess 隐藏 .php 文件扩展名?

Mary-Kate Olsen
发布: 2024-11-06 18:08:02
原创
292 人浏览过

Why Can't I Hide My .php File Extension with .htaccess?

使用 .htaccess 隐藏 .php 文件扩展名:故障排除提示

尽管按照以下说明使用 .htaccess 隐藏 .php 文件扩展名,您遇到困难。让我们调查该问题并提供修改后的解决方案。

您的初始 .htaccess 代码尝试重写特定“文件夹”目录中的 URL。但是,它看起来不完整,因为它缺少相应的 RewriteCond 指令。为了解决这个问题,以下修改后的代码应该可以工作:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^folder/([a-zA-Z_\-0-9]+)/?$ /folder/.php
</IfModule>
登录后复制

RewriteCond 行确保仅当请求的文件不存在(即,它不是静态文件)时才应用规则。

此外,为了正确处理各种情况,请考虑使用更全面的 .htaccess 代码,如已接受的答案中建议的代码:

RewriteEngine On

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/ [R=301,L]

# Redirect external .php requests to extensionless URL
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/ [R=301,L]

# Resolve .php file for extensionless PHP URLs
RewriteRule ^([^/.]+)$ .php [L]
登录后复制

此代码不仅隐藏了 .php 扩展名,还隐藏了 .php 扩展名。处理尾部斜杠、外部 .php 请求,并在内部解析无扩展名 URL 的 .php 文件。

请记住,验证 .htaccess 文件是否放置在项目的根目录中,并检查文件的权限以确保其可读网络服务器。

以上是为什么我无法使用 .htaccess 隐藏 .php 文件扩展名?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!