2017-02-17 20 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 

адрес правильно, прежде, чем обновление все работало.

Теперь мой Серуэр выглядеть:

  • Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-108-родовое x86_64)
  • версии Сервера: Apache/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. Это решило проблему без изменения файла mime.conf

 Смежные вопросы

  • Нет связанных вопросов^_^