我的提供商1天前更新服务器(我不知道上一版本)。 现在重写不起作用索引包括,执行和重定向: http://testdomena.com - > http://testdomena.com/index/index(更正) 但在那之后,我看到了:
Not Found
The requested URL /index/index was not found on this server.
Apache/2.4.7 (Ubuntu) Server at testdomena.com Port 80
地址是正确的,在更新之前一切正常。
现在我的服务员看起来像那样:
apache2.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<directory /var/www/>
options indexes followsymlinks
allowoverride none
require all granted
</directory>
<directory /home/>
options indexes followsymlinks
allowoverride none
require all granted
</directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
testdomena.conf
<VirtualHost *:80>
ServerName testdomena.com
DocumentRoot /home/web/testdomena
<Directory /home/web/testdomena/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
的.htaccess
SetEnv APPLICATION_ENV "production"
Options +FollowSymlinks -Indexes
RewriteEngine On
RewriteBase /
# No www in url
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ http://testdomena.com/$1 [R=301,L]
# Maintain page
RewriteCond %{DOCUMENT_ROOT}/index.php !-f
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* maintain.php [PT,L]
# Files and dirs are not welcome
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(media|styles)/?
# And we don't want to check www subdomain
RewriteCond %{HTTP_HOST} !=www.testdomena.com
RewriteRule .* index.php [PT,L]
来自phpinfo()的部件
Loaded Modules
core mod_somod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_filter mod_headers mod_mime prefork mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_socache_shmcb mod_ssl mod_status
答案 0 :(得分:0)
我找到答案: https://serverfault.com/questions/372733/apache-file-negotiation-failed
TypesConfig /etc/mime.types 问题是/etc/mime.types文件被更新替换,在替换文件中,PHP部分被注释掉了。搜索时,我发现:
#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
我必须从包含php相关内容的每一行中删除#,然后保存并重新启动Apache Web服务器。这解决了问题,而没有修改mime.conf文件