.htaccess重写图片网址

时间:2015-06-13 15:02:44

标签: php wordpress apache .htaccess mod-rewrite

你好,我的wordpress目录中的图像有问题,插件没有太多的支持,我已经修复了大部分比特但图像。我知道必须改变root中的.htaccess,但我不确定如何。

看看我现在的.htaccess看起来像什么:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我的网站没有加载插件中的图片,当检查chrome上的源代码时,它会在下面的URL中查找图像,这会产生404错误。

http://www.example.com//http://www.example.com/wp-content/plugins/wprx/wpt_image.php?i=/wp-content/wpt_cache/7/1713/01.jpg

图片的正确网址为:

http://www.example.com/wp-content/plugins/wprx/wpt_image.php?i=/wp-content/wpt_cache/7/1713/01.jpg

有关更改.htaccess以从网址开头删除“http://www.example.com//”的任何想法吗?

非常感谢, 皮特

2 个答案:

答案 0 :(得分:2)

声明:

虽然您所要求的是可能,但您不应选择此解决方案,而应找到并解决问题的原因
因为浏览器仍然在寻找

http://www.example.com//http://www.example.com/wp-content/plugins/wprx/wpt_image.php?i=/wp-content/wpt_cache/7/1713/01.jpg

之后,你只会提供一个文件。

这是一个糟糕的解决方案!

如何:

在传递给.htaccess文件的路径中,协议,主机和端口已经被剥离,让你离开

//http://www.example.com/wp-content/plugins/wprx/wpt_image.php?i=/wp-content/wpt_cache/7/1713/01.jpg

所以你真的要删除第二个 http://www.example.comRewriteBase之后放置以下行应该使它有点工作:

RewriteRule ^//http://www.example.com/(.*)$ /$1

答案 1 :(得分:0)

你可以拥有这样的htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

# fix images path
RewriteCond %{REQUEST_URI} (http://.+?\.(?:jpe?g|gif|bmp|png))$ [NC]
RewriteRule ^ %1 [L,R=301,NE]    

RewriteBase /

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress