私は画像共有 Web サイトを持っており、以前は画像用のサブドメインを持っていましたが、それを削除する必要があったため、現在は画像への実際のパスを使用しています。
古い URL:
http://img.site.com/images/2013/03/abc.jpg
新しい URL:
http://site.com/files/images/2013/03/abc.jpg
これに関する問題は、古い URL をまだ使用している他の Web サイトや検索エンジンからリンクされた画像がたくさんあることです。
古いサブドメインの問題は、そのディレクトリ ( public_html/files
) とその名前 ( img.
) が異なることです。そのため、それを処理するために特別な構成が必要であり、それが引き起こしているすべての問題にうんざりしていました。
img.
ディレクトリを指す通常のサブドメインを作成したpublic_html/img
ので、追加の構成は必要ありませんが、画像はまだ public_html/files
ディレクトリにあります。
私が今しなければならないことは、何らかの形で.htacessを使用して新しいディレクトリを古いディレクトリに置き換えることだけだと思います。これが可能かどうかはわかりません。
私.htaccess
は現在:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^img\.site\.com$ [NC]
RewriteRule ^(images/.*)$ http://site.com/files/images/$1[R=301,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
サブドメインから画像を呼び出そうとすると、次のようになります。
Not Found
The requested URL /files/images/2013/10/15c100d1da3216850d6cceb4ce57eaab6d26fc92.jpg was not found on this server.
img.site.com
私のエラーログレポート:
[Mon Oct 21 02:58:46 2013] [error] [client 85.185.229.221] script '/home/site/domains/site.com/public_html/img/index.php' not found or unable to stat