私はこの一日を成功せずに修正しようとしているので、誰かが私を助けてくれることを願っています。にアプリがありhttp://localhost/
、ホスティングしているアプリにPylonsを使用しています。それに加えて、PHP / MySQLサイトをホストする必要があるため、Apacheも使用する必要がありました。
私の現在の設定では、Apacheバックエンドのこの構成でhaproxyを使用しています。
backend apache
mode http
timeout connect 4000
timeout server 30000
timeout queue 60000
balance roundrobin
server app02-8002 localhost:8002 maxconn 1000
これはこれによってトリガーされます:
acl image url_sub images
use_backend apache if image
したがって、IP /イメージを開くと、それがトリガーされ、ポート8002でApacheが開きます。
Apacheの場合、仮想ホストを作成しました。これは「イメージ」ホストです。
<VirtualHost *:8002>
ServerAdmin my@email.com
ServerName image
ServerAlias image
DocumentRoot /srv/www/image/public_html/
ErrorLog /srv/www/image/logs/error.log
CustomLog /srv/www/image/logs/access.log combined
</VirtualHost>
つまり、すべてうまく機能します。IP/ imagesと入力すると、/ srv / www / image/public_htmlが開きます。しかし、その後、問題が発生します。画像アップロードスクリプトを使用しているため、多くの書き換えが必要になるため、そのmodを有効にする必要がありました。これは、public_html / imagesフォルダーにある.htaccessです(URLをpublic_htmlの実際の場所と「一致」させるために、このサブフォルダーも作成する必要がありました。SetEnvPHP_VER 5_3
RewriteEngine On
# You must define your installation directory and uncomment the line :
RewriteBase /images/
RewriteRule ^([a-zA-Z]+)\.(jpg|gif|png|wbmp)$ controller/Resizer.php?m=original&a=$1&e=$2 [L]
RewriteRule ^(icon|small|medium|square)\/([a-zA-Z]+)\.(jpg|gif|png|wbmp)$ controller/Resizer.php?m=$1&a=$2&e=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) application.php?request=$1 [L,QSA]
したがって、基本的に、これは機能していません。この仮想ホスト、サブディレクトリ、書き換えなどの間に競合があると思いますが、それを分離することはできないようです。
IP / images / xxxx.jpgを開くと、public_html / images / upload / originalフォルダーにある画像が開くので、書き換えが機能しているのは少し紛らわしいです。他のルールは機能していないようです。すべてのサムネイルと小さいバージョンが適切にレンダリングされていないため(アイコン、小、中、正方形)、サイトは非常に使用できなくなります。
開発サーバーのリンクは次のとおりです。http://localhost/images/
お時間を割いてご協力いただき、誠にありがとうございます。