【发布时间】:2013-06-05 09:35:40
【问题描述】:
我在 Ubuntu 13.04 环境中使用 php。
我已经配置了 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>
所以,评论他们解决了这个问题(我希望)
【问题讨论】: