我查看了很多问题,但似乎只找到解决方案,以便用户看到http://www.example.com/page
,但文件名为http://www.example.com/page.php
。
我正在寻找的是一种实际上称为http://www.example.com/page
(不是page.php
)的文件的方法,该服务器作为常规PHP文件执行。
这可能吗? (如果是这样,我认为它可能以某种方式在.htaccess文件中完成,但我不确定。)
所以,我正在尝试创建一个只使用一个文件显示多个页面的网站,并$_SERVER['PATH_INFO']
知道要显示哪个页面。为了让它看起来更好,我尝试覆盖显示的网址,以便用户看到.../page
而不是.../page.php
,但在访问重写的网页时,它以某种方式无法识别路径信息。 (不确定这是否有意义,尽力解释。)
答案 0 :(得分:2)
您可以在.htaccess
:
Options -MultiViews
RewriteEngine on
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# add php if possible
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
# rewrite other to index.php file
RewriteRule ^ /index.php [L]
您可以使用index.php
来显示多个页面(没有现有文件)。
如果存在test.php
,您可以将其与http://www.exemple.com/test
一起使用
但如果test.php
不存在,则会显示index.php
,显示此页面的内容。