mod_Rewrite的问题

时间:2010-04-05 10:44:52

标签: php apache mod-rewrite

最初我有以下.htaccess文件:

php_value display_errors 1
php_value error_reporting 7

AddDefaultCharset utf-8

Options -Indexes
<Files ~ ".*\.(info|tpl)$">
    Order allow,deny
    Deny from all
</Files>

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 [L,QSA]

这引发了500个内部服务器错误,因此我将前两行移到了php.ini文件中。

之后,错误消失,但重定向无法正常工作,它只是重定向到空白页面,错误日志显示:文件未找到,另一个日志显示:

PHP Warning:  Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/:/usr/lib/php:/usr/local/lib/php:/tmp/:/usr/local/:/usr/bin) in Unknown on line 0

我试图在RewriteLog中写入,再次触发500服务器错误

一点帮助?提前谢谢

P.S。

cPanel 11.24.5-STABLE (Build: 38506)
Apache version 2.2.15 (Unix)
MySQL version 5.0.85-community
PHP version 5.2.9
Operating system Linux

Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_fcgid/2.3.5

3 个答案:

答案 0 :(得分:1)

看起来PHP正在尝试使用空路径打开文件,因此您尝试访问的PHP脚本中显然存在一些错误。只需检查访问日志,您在哪个URL上遇到此错误,并尝试修复PHP脚本。

答案 1 :(得分:0)

正如你的注册表所示

<Files ~ ".*\.(info|tpl)$">

您只允许访问.info和.tpl文件。我在这里弄错了吗?

编辑:当我意识到错误时发表评论。

答案 2 :(得分:0)

您应该查看apache日志 - 错误将在那里,您将知道之后要解决的问题。