如何使用.htaccess隐藏文件扩展名+限制访问

3

大家好,如何使用 .htaccess 删除文件扩展名。

例如:

文件名为 "/home.php"。

当然,在使用 .htaccess 后,可以使用链接 "/home" 访问该文件。

如果访问者访问 "/home.php" 而不是 "/home",则可以将其重定向到 404 错误页面。

谢谢!

3个回答

3
你可以直接使用Multiviews
Options +Multiviews
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+([^\?\ ]+)\.php
RewriteRule ^ /%1 [L,R=301]

这将把/home.php重定向到/home,但如果您坚持返回“未找到”,则可以将方括号中的301替换为404

我在[L,R = 404]中放置了404,但尝试使用ErrorDocument处理请求时显示错误:500 Internal Server Error。 - Luis Edward Miranda
@LuisEdwardMiranda 不要认为你不能在R=404的情况下使用errordocument 404。 - Jon Lin

0

这段代码将把 *.php 重写为 *

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接