我有一个图像共享网站,我曾经有一个图像子域,但是我不得不删除它,所以现在我使用图像的真实路径:
旧网址:
http://img.site.com/images/2013/03/abc.jpg
新网址:
http://site.com/files/images/2013/03/abc.jpg
问题在于我有很多来自其他网站和搜索引擎的图片链接,这些网站和搜索引擎仍在使用旧 URL。
旧子域的问题在于它的目录 ( 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