私のサーバーではTimThumbをプラグインとして使用してイメージをサイズ変更します。TimThumbを書き換えてメールに使用する方法
Google Gmailの出力https://example.com/thumb.php?sr+c=
はsrc
属性(プラス記号に注意してください)として出力します。
私はhereを読んでいます。これはクエリのためです。
.htaccess
を使用してURLを書き換えて/thumb.php?src=
を/src/
に削除するにはどうすればよいですか?
これは、それが画像へのリンクがどのように見えるかです:
https://example.com/thumb.php?src=example.jpg
これは私がこれは私の現在の.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
RewriteRule ^welcome/([^/]+)/?$ index.php?a=welcome&filter=$1 [NC,QSA,L]
RewriteRule ^explore/([^/]+)/?$ index.php?a=explore&filter=$1 [NC,QSA,L]
RewriteRule ^page/([^/]+)/?$ index.php?a=page&filter=$1 [NC,QSA,L]
RewriteRule ^(([^/]+)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L,QSA]
index.php
とthumb.php
あるある
https://example.com/src/example.jpg
を必要とするものです両方のルートフォルダに
UPDATE
私は私の.htaccess
に次の行を追加し、https://example.com/src/example.jpg
を訪問しようとしたが、再び、それは「歓迎」のページにリダイレクトし、この場合には、働いていません。
RewriteRule ^src/([^/]*)$ /thumb.php?src=$1 [L]
私もこれを試してみました
第二UPDATE:
RewriteRule ^src/([^/]+)/?$ thumb.php?src=$1 [NC,QSA,L]
再びそれはhttps://example.com/src/example.jpg
は私の "歓迎" のページにリダイレクト働いていません。
これはこれは私が、私はできないのsrcクエリ
$_GET['src'] = 'https://s3-eu-west-1.amazonaws.com/bucket1'.'/'.$_GET['src'];
を構築する方法である、それは今の私の.htaccessをどのように見えるかthumb.php
インサイド
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
RewriteRule ^welcome/([^/]+)/?$ index.php?a=welcome&filter=$1 [NC,QSA,L]
RewriteRule ^explore/([^/]+)/?$ index.php?a=explore&filter=$1 [NC,QSA,L]
RewriteRule ^page/([^/]+)/?$ index.php?a=page&filter=$1 [NC,QSA,L]
RewriteRule ^src/([^/]+)/?$ thumb.php?src=$1 [NC,QSA,L]
RewriteRule ^(([^/]+)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L,QSA]
第三UPDATE
です何が間違っているのか分かりました。ウラジミールCveticの回答に基づいて
第四UPDATE
私はこれを試してみました:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
RewriteRule ^src/(.*)$ /thumb.php?src=$1 [L,QSA]
RewriteRule ^welcome/([^/]+)/?$ index.php?a=welcome&filter=$1 [NC,QSA,L]
RewriteRule ^explore/([^/]+)/?$ index.php?a=explore&filter=$1 [NC,QSA,L]
RewriteRule ^page/([^/]+)/?$ index.php?a=page&filter=$1 [NC,QSA,L]
RewriteRule ^src/([^/]+)/?$ thumb.php?src=$1 [NC,QSA,L]
RewriteRule ^(([^/]+)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L,QSA]
そして再び、それは働いていない、これは誤りです:
`The 't' parameter is not set.`
しかし、それは以来、奇妙です私は以下のように 't'パラメータ条件を空に設定しました:
if(!empty($_GET['t'])) {
if($_GET['t'] == 'a') {
$type = 'uploads/avatars';
$width_list = array(25, 35, 50, 70, 100, 112, 150, 200, 300);
$height_list = array(25, 35, 50, 70, 100, 112, 150, 200, 300);
} elseif($_GET['t'] == 'b') {
$type = 'uploads/backgrounds';
...
} else {
exit('Invalid parameter value');
}
} else {
$_GET['t'] == 'a';
$type = 'uploads/avatars';
$width_list = array(25, 35, 50, 70, 100, 112, 150, 200, 300);
$height_list = array(25, 35, 50, 70, 100, 112, 150, 200, 300);
}
は確かに私はhttps://example.com/thumb.php?src=example.jpg
を訪問する場合、私は正しく
直接答えはありませんが、Timthumbの使用を中止してください。これは[数多くのセキュリティ問題](https://blog.sucuri.net/2011/08/timthumb-php-security-vulnerability-just-the-tip-of-the-iceberg.html)の主題であり、 2014年以来維持されていない](https://www.binarymoon.co.uk/2014/09/timthumb-end-life/)。この時点で引き続き使用することは非常に危険です。 – duskwuff
新しいルールはどこに配置しましたか?最後に追加するだけであれば、その前に来るルールはすでにindex.phpにリクエストを書き換えている可能性が最も高いでしょう。少なくとも最後の既存ルールの前に試して配置してください。 – CBroe
.htaccessに変更を加えてもWebサーバーの再起動は必要ありません.htaccessファイルはすべての要求で読み込まれます。 //あなたが試みた完全に変更されたルールセットを表示するために質問を編集してください。 – CBroe