【问题标题】:How to change image path using htaccess?如何使用 htaccess 更改图像路径?
【发布时间】:2012-03-30 20:30:57
【问题描述】:

我正在修复这个 joomla 网站。它使用 joomla 1.7 语言过滤器,因此它向 url 添加了后期修复。因此,当我查看带有图像的文章时,图像未显示。 我尝试了 htaccess 重写规则。但这对我不起作用... 这是我复制图片网址时得到的。

http://domain.com/en/images/myimage.png

但是当我检查代码时,它是 images/myimage.png 。 如果我将代码编辑为/images/myimage.png 它可以工作。

这也是我尝试用 htaccess 做的,添加一个“/”。由于它不起作用,我想我必须更改整个网址。 我对重写没有太多的了解。 大家能帮帮我吗?

【问题讨论】:

    标签: image .htaccess path rewrite


    【解决方案1】:

    在您的 .htaccess 中尝试一下:

    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteRule ^.*/images/(.*)$ http://%{HTTP_HOST}/images/$1 [L,R=301]
    </IfModule>
    

    这会将您的 /en/images/... 请求重写为 /images/...

    请注意,这可能会对其他 URL 产生意想不到的后果。我建议在您自己的应用程序上对此进行适当的测试。

    【讨论】:

    • 你好,然后我所有的其他图像都消失了:(
    • 你的其他图片路径是什么?举一个或两个不起作用的例子。
    • 嘿,谢谢节省我的时间 :) 我编辑了它&lt;IfModule mod_rewrite.c&gt; RewriteRule ^en/images/(.*)$ /images/$1 [L,R=301] RewriteRule ^/en/images/(.*)$ /images/$1 [L,R=301] RewriteRule ^de/images/(.*)$ /images/$1 [L,R=301] RewriteRule ^/de/images/(.*)$ /images/$1 [L,R=301] RewriteRule ^pl/images/(.*)$ /images/$1 [L,R=301] RewriteRule ^/pl/images/(.*)$ /images/$1 [L,R=301] &lt;/IfModule&gt; 这就是我所做的,我知道的可能不是那么准确!但是谢谢!
    【解决方案2】:

    .htaccess 解决方案只对我部分有效,所以我从模板的 index.php 文件中修复了这个问题。 在&lt;head&gt; 标记内,在&lt;jdoc:include type="head" /&gt; 代码之后,我添加了此代码

    <?php
    //removed joomla autogenerated <base> tag
    unset($doc->base); ?>
    <base href="<?php echo JURI::root(); ?>">
    

    用 Joomla 3.6.5 测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 2017-07-08
      • 1970-01-01
      • 2013-10-19
      • 2013-01-25
      相关资源
      最近更新 更多