Я работаю с php в среде Ubuntu 13.04. Я настроил apache так, что в моем домашнем каталоге у меня есть каталог public_html
где я храню все веб-сайты, над которыми я работаю, и я могу получить к ним доступ с localhost/~homedir/website
. Все работает нормально, но несколько дней назад я понизил PHP до версии 5.3, чтобы попытаться решить проблему (а затем я этого не сделал), а затем вернулся к php 5.4.9. Это произошло несколько дней назад, и я не помню, если бы после этого я проверил какие-либо из моих сайтов. Во всяком случае, сегодня я попытался получить доступ к одному, и это не сработало. В файле apache error.log у меня есть следующее:
File does not exist: /home/carlo/public_html/website/index.php/welcome Negotiation: discovered file(s) matching request: /home/carlo/public_html/website/index (None could be negotiated).
Я обычно использую .htaccess
:
RewriteEngine on RewriteBase /~carlo/website/ RewriteCond $1 !^(index\.php|cache|captcha|fonts|forum|media|img|min|css|js|scripts|images|uploads|docs|robots.txt|sitemap.xml|sitemap|public|tools|assets|xd_receiver.htm) RewriteRule ^(.*)$ index.php/$1 [L]
С одной стороны, phpmyadmin работает. Я могу получить к нему доступ с помощью localhost/phpmyadmin
. В /etc/apache2/conf.d/apache.conf
меня есть следующее:
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php <IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/ </IfModule>
Я думаю, что изменение и обновление php некоторых конфигурационных файлов изменилось, но я не знаю, какой из них и что делать. Можете ли вы помочь мне разобраться? Должен ли я опубликовать некоторые другие данные?
РЕДАКТИРОВАТЬ:
Я думаю, что выяснил эту проблему. По-видимому, обновив php, были восстановлены следующие инструкции:
# To re-enable php in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. <IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule>
Поэтому, комментируя их, проблема решена (надеюсь)
Добавьте файл .htaccess
и попробуйте
Options +FollowSymLinks