以PHP

时间:2015-11-07 13:05:46

标签: php apache .htaccess

我查看了很多问题,但似乎只找到解决方案,以便用户看到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,但在访问重写的网页时,它以某种方式无法识别路径信息。 (不确定这是否有意义,尽力解释。)

1 个答案:

答案 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,显示此页面的内容。