.htaccess只允许几个.htm和.html文件

时间:2011-11-13 07:13:00

标签: apache .htaccess

我有一个.htaccess文件,其中包含的内容正在将我的 index.php?page = aboutus 更改为 aboutus.htm RewriteRule ^([^ /。] +)(。html)/?$ index.php?page = $ 1

我使用$ _GET [“page”]使用PHP打印数据库中的内容,但如果有人输入 test.html ,则检查数据库是否存在 test 数据,

如何使用.htaccess在网址中仅提供少量.html文件,例如aboutus.html,home.html,projects.html等...

由于

2 个答案:

答案 0 :(得分:0)

正如我在评论中所说,你可以直接在php脚本中进行验证。

无论如何,如果你真的想用.htaccess文件做这个,你可以考虑使用RewriteMap:

Apache documentation

但是,如果您不熟悉它并且验证适用于一小组文件应该更好地使用RewriteCond指令,那么它可能会有点复杂:

RewriteCond %{REQUEST_URI} ^/(aboutus|home|projects)
RewriteRule ^([^/\.]+)(.*)?$ index.php?page=$1 [L] 

答案 1 :(得分:0)

RewriteRule ^(aboutus|home|projects)\.html/?$ index.php?page=$1

PS。为什么要在网址中保留“.html”部分?他们并没有真正添加任何东西。