.htaccess:根据传入的REQUEST_URI设置php_value

时间:2014-09-26 14:14:05

标签: php apache .htaccess mod-rewrite

我正在尝试根据传入的php_value在htaccess中设置特定的REQUEST_URI。我在Apache 2.4中看到有条件块,但我们正在使用2.2,那么有没有办法实现这个目标?

例如:

我想在传入的URI与php_value memory_limit 64M模式匹配时设置'/batch-process',否则它将始终为32M

目前我可以让mod_rewrite检查request_uri并设置一个env变量,但我想知道如何在htaccess文件中读取这个,然后设置基于php_value在那。

这可能吗?

我目前的htaccess规则是:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/berightback.html -f
RewriteRule !^(css|js|img|berightback\.html) /berightback.html [NC,L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

感谢。

更新

这就是我最终要做的事情。如果有其他方式,请评论。

在php.ini文件中,我将memory_limit提升到了256M 然后在index.php页面上,我检查了传入的REQUEST_URI以获取' / batch-process'如果不是,那么memory_limit的ini_set会回落到32M

似乎并不理想,但是在大批量处理请求中无法正常运行。

1 个答案:

答案 0 :(得分:0)

取决于您如何映射到前端控制器。如果您是通过重写规则执行此操作,则可以使用<Location>而不是<Directory>块来指定要更改其设置的路径块。 <LocationMatch>允许你使用正则表达式来做同样的事情