如何使用 mod_rewrite 忽略对 php 文件的访问?

2021-12-21 00:00:00 php mod-rewrite

例如:www.example.com/about.php

For example: www.example.com/about.php

我不希望可以访问扩展名为 .php 的文件,而是显示 404 页面.

I don't want the files with the extension .php to be available to reach, display a 404 page instead.

我在根文件夹中有文件:内容.php关于.php页脚.php等等...现在我可以通过在地址栏中输入来访问这些文件.我想限制这个.

I have the files in the root folder: content.php about.php footer.php etc... Now i can reach these files by typing in to the adress bar. I want to restrict this.

我该怎么做?

推荐答案

避免 mod_rewrite 的开销和复杂性的更好方法是简单地不要将您不想通过 url 访问的文件放在根文件夹中.您可以将它们放在其他地方并从那里包含它们;简单且(更)安全,但出于某种原因,这似乎不是常识.

A better approach that avoids the overhead and complexity of mod_rewrite is to simply not put files you don't want reached by url in the root folder. You can just put them somewhere else and include them from there; simple and (more) secure, but for some reason this doesn't seem to be common knowledge.

一个示例结构可能是

project/
project/root
project/lib

您的公共代码(例如 index.php)将位于项目/根目录中,这将是网站根目录.您包含的代码将存在于 project/lib 中,可以使用 require、include 等轻松包含.

Your public code (e.g. index.php) would live in project/root, and that would be the website root. Your included code would live in project/lib can be easily included using require, include, etc.

没有 mod_rewrite.很简单.

No mod_rewrite. Very simple.

相关文章