为什么我的网站必须在 URI 中指定 .php 扩展名

为什么我的网站必须在 URI 中指定 .php 扩展名

正在运行 12.04 ubuntu lamp 设置。使用 14.04 ubuntu 构建了一个新的。这两个都是 AWS 上的实例。在旧网站上,可以使用 URL“http://example.com/info“并显示 phpinfo() 输出。在安装了 lamp-server 软件包的新 14.04 服务器上,如果我不指定 .php 扩展名,则会找不到文件(添加 .php 扩展名后可以正常工作)。为什么在较新的设置中没有自动重写 request_URI?

php5 和 apache2 conf 选项也发生了变化。在 12.04 ubuntu 下,php5 是 5.3.10-1ubuntu3.14,而在 14.04 ubuntu 下,php5 是 5.5.9-1ubuntu4.5。

搜索后,我看到很多关于重写规则等的讨论,但我确信我忽略了一个基本的配置/设置问题。有人能帮我指出我的做法有多愚蠢吗?

谢谢,

答案1

12.04 和 14.04 之间的差异在于 /etc/mime.types 文件。在 12.04 中,相关区域如下:

application/x-httpd-php                         phtml pht php
application/x-httpd-php-source                  phps
application/x-httpd-php3                        php3
application/x-httpd-php3-preprocessed           php3p
application/x-httpd-php4                        php4
application/x-httpd-php5                        php5

在 14.04 中相关区域是这样的:

#application/x-httpd-php                        phtml pht php
#application/x-httpd-php-source                 phps
#application/x-httpd-php3                       php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                       php4
#application/x-httpd-php5                       php5

请注意,在 14.04 的情况下,相关行已被注释掉。一旦我取消注释这些行,我就可以加载 .php 文件,而无需指定 .php 文件扩展名(当然,在重新启动 apache 之后)。

sudo service apache2 restart

相关内容