首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >似乎启用了mod_negotiation,但是没有扩展名的.php文件返回404。

问似乎启用了mod_negotiation,但是没有扩展名的.php文件返回404。
EN

Server Fault用户
提问于 2013-01-30 11:46:25
回答 1查看 5.6K关注 0票数 2

我有以下问题--在迁移到新平台后,除非URL包含它们的扩展名,否则PHP文件是找不到的。因此,如果/var/www包含文件problem.php,则URL http://localhost/problem.php将正确显示,但http://localhost/problem不显示。我尝试了以下几点:

  • 检查配置文件中是否启用了MultiViews: Options索引FollowSymLinks MultiViews AllowOverride All Order,拒绝all
  • 检查mod_negotiation是否通过phpinfo()加载:

加载模块:核心mod_log_config mod_logio mod_version预分叉http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime en23 20 en22

  • 如果以上是压力引起的幻觉,尝试加载mod_negotiation2并重新启动服务器: leviathan www # a2enmod协商模块协商已经启用,www # service apache2重新启动web服务器apache2 apache2:无法可靠地确定服务器的完全限定域名,使用127.0.1.1用于ServerName .等待apache2:无法可靠地确定服务器的完全限定域名,使用127.0.1.1表示ServerName 好的 leviathan #
  • 确保.htaccess不会通过在没有.htaccess文件的目录中进行测试而导致这种情况。

但是这一切都是徒劳的,我仍然得到404个错误,而我完全不明白为什么。我做错了什么?我的平台是Linux 14。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-01-30 13:41:25

我找到了解决办法。将以下行添加到/etc/apache2/mods-enabled/mime.conf中:

代码语言:javascript
复制
AddType application/x-httpd-php .php .phtml .html .htm

然后用以下方式重新启动apache:

代码语言:javascript
复制
# service apache2 restart

一切都结束了。我想这是Linux配置中的一个bug。

来源:在webdeveloper.com论坛上“提供没有PHP文件扩展名[apache]的页面”

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/473788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档