2017-02-17 141 views
0

我的供应商1天前更新服务器(我不知道上一版本)。 现在重写不起作用指数包括,执行和重定向: http://testdomena.com - >http://testdomena.com/index/index(即正确的) 但在那之后,我看到:升级后.htaccess不起作用

Not Found 

The requested URL /index/index was not found on this server. 

Apache/2.4.7 (Ubuntu) Server at testdomena.com Port 80 

地址是正确的,更新前的所有工作。

现在我serwer看起来像:

  • 的Ubuntu 14.04.5 LTS(GNU/Linux的3.13.0-108泛型x86_64的)
  • Server版本:阿帕奇/ 2.4.7(Ubuntu的)
  • PHP 5.5.9-1

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 
+1

http://stackoverflow.com/questions/24426690/problems-with-htaccess-after-upgrading-to-php-5-4 –

回答

0

我找到答案: https://serverfault.com/questions/372733/apache-file-negotiation-failed

TypesConfig /etc/mime.types 问题是/etc/mime.types f ile被更新所取代,并且在被替换的文件中,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文件

相关问题