5

我的 .htaccess 如下:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /school
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1

php_value auto_prepend_file ./inc/library.php

ErrorDocument 404 /school/index.php?page=404

截至./,我读到表示相对路径。

4

2 回答 2

10

注意:此信息几乎是从另一个网站逐字获取的,我认为它很好地解释了这个问题,我高度怀疑这是问题所在:


在 .htaccess 文件中使用 php_flag 或 php_value

一些 PHP 脚本建议在 .htaccess 文件中使用“php_value”或“php_flag”命令,如下例所示:

php_value  include_path         ".:/usr/local/lib/php" 
php_flag   display_errors       Off
php_value  upload_max_filesize  2M
php_value  auto_prepend_file    "./inc/library.php"

但是,有些服务器以“CGI 模式”运行 PHP(不是作为 Apache 模块),因此您不能在 .htaccess 文件中使用“php_value”或“php_flag”命令。如果您尝试这样做,您将看到“内部服务器错误”消息。

不过,您可以修改 php.ini 文件以获得相同的效果。事实上,修改 php.ini 实际上比使用 php_value 或 php_flag 更灵活:有很多东西不能使用 .htaccess 文件覆盖,但几乎可以覆盖 php.ini 文件中的任何 PHP 设置。

要获得与上述 .htaccess 行相同的效果,您只需将这些行添加到您的自定义 php.ini 文件中:

include_path = ".:/usr/local/lib/php" 
display_errors = Off
upload_max_filesize = 2M
auto_prepend_file = "./inc/library.php"

注意:有些系统需要在路径周围加上引号,有些则不能使用引号。

于 2013-02-15T00:05:47.287 回答
3

如果您想在将 php 作为 CGI/FastCGI 应用程序运行时在 .htaccess 文件中使用,您可以使用htscanner PHP 模块。php_value

于 2013-07-03T09:37:38.737 回答