【发布时间】:2012-11-16 04:08:17
【问题描述】:
我在 Apache 前使用 Nginx(设置为反向代理)有一些问题。我正在使用 Apache 来提供 PHP 文件并应用 .htaccess 规则。
Nginx 有效,但 .htaccess 中的某些重写无效。
我使用 timthumb.php 来管理媒体,例如:
/cache/150/100/file.jpg > /media/thumb.php?src=images/file.jpg&w=150&h=100
重写规则仅适用于 PHP 应用程序,但不适用于上述静态文件。 当我尝试执行自己的静态规则时,Nginx 返回 404。
RewriteEngine On
RewriteRule ^cache/([0-9]+)/([0-9]+)/([a-z0-9_\-\.\/]+)$ /media/thumb.php?src=images/$3&w=$1&h=$2 [L]
RewriteRule ^upload/([0-9]+)/([0-9]+)/([a-z0-9_\-\.\/]+)$ /media/thumb.php?src=upload/$3&w=$1&h=$2 [L]
<Files .*>
Order Deny,Allow
Deny From All
</Files>
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT]
【问题讨论】:
标签: apache mod-rewrite nginx hosting reverse-proxy