【发布时间】:2011-12-19 18:31:41
【问题描述】:
我的服务器目录管理员中有 Zend Framework 项目。
在我的 .htaccess(位于 admin/public 中)我有:
RewriteEngine on
php_value short_open_tag 1
RewriteBase /admin/public/
RewriteCond %{REQUEST_URI} !^(/admin/public/js/.*\.js)$
RewriteRule /(.*\.js)$ /admin/public/$1 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php/$1 [L]
但我得到错误: 服务器遇到内部错误或配置错误,无法完成您的请求。
我检查了 mod_rewrite 是否有效,并且确实有效。 主文件夹中的这个 .htaccess 可以正常工作:
RewriteEngine on
RewriteCond %{REQUEST_URI} !-F
RewriteRule ^([^/]+)/?$ test.php?test=$1
谁能告诉我,我的 Zend 的 .htaccess 应该是什么样子? 我在其他服务器上使用了与这个项目相同的东西,它工作正常。
哦,我无权访问 error.log
【问题讨论】:
-
尝试从 htaccess 中删除内容,直到错误消失。我没有看到任何会导致错误的东西。您的第一个重写不应以
/开头,但这不会产生 500 错误。 -
非常感谢您的提示!我开始使用“php_value short_open_tag 1”删除,就是这样 - 现在它可以工作了。不过很奇怪,因为它可以在其他服务器上使用。
-
如果您的 PHP 引擎作为 CGI/FastCGI 而不是作为 Apache 模块加载,PHP_VALUE 将不起作用。我认为这就是区别。
标签: php apache .htaccess zend-framework