1 回答
TA贡献1111条经验 获得超0个赞
您发布的方法完全符合您的要求。您在文件系统上有一个“index.php”文件,您的 URL 类似于“www.mysite.com/index”(URL 中没有 .php 扩展名)。
RewriteEngine on
# The requested filename "/index" is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
# There is a file on the file system named as the request, with extension .php
RewriteCond %{REQUEST_FILENAME}.php -f
# If all of the above is true, pretend that the ".php" file had been called
# by rewriting the request appending .php
RewriteRule ^(.*)$ $1.php
您不需要将“index.php”重命名为“index”。
如果您还想在指定 .php 时阻止访问,请将此规则放在上面的规则之前。现在,“mysite/index”可以工作,“mysite/index.php”不会。
# Return 404 if original request is .php
RewriteCond %{REQUEST_FILENAME} "\.php$"
RewriteRule .* - [L,R=404]
请注意,还有其他几种方式可能会让人意识到您的网站使用 PHP,而 php-to-404 规则没有多大意义。
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报