Wordpress图像在子目录中

时间:2016-05-16 21:12:30

标签: php wordpress .htaccess

我在一个子目录中安装了WP,但在我的页面模板和php文件中,我引用了文档根目录,因此它将恢复到主目录以加载图像文件。是否有像.htaccess文件一样快速将图像重定向到子目录?

MainURL: mysite.com/wordpress1
CPURL: mysite.com/wordpress1

<img src="/images/image1.jpg">

I want the image to load from: "/wordpress1/images/image1.jpg"

我不想手动硬编码子目录,以防我以后不需要使用它。我希望它具有普遍性......

2 个答案:

答案 0 :(得分:1)

使用.htaccess不是最好的方法 - Wordpress定义了一系列函数,以便您获得正确的目录。它的设计就是为了这样的情况:Wordpress最终的文件夹可能会非常不同!

此功能将始终返回网站网址:home_url(),例如:http://example.com/wordpress

所以你可以像这样引用你的图像:

<img src="<?php echo home_url(); ?>/images/image1.jpg">

还有一个site_url()函数,differences are explained in this question/answer

如果您正在开发主题也很有用,此函数将始终返回主题目录root:get_template_directory_uri(),例如:http://example.com/wordpress/wp-content/themes/mytheme

有一个完整的函数列表,可以在this Codex page返回Wordpress安装的各种URL和服务器路径。

答案 1 :(得分:-1)

如果你在模板中使用绝对路径,那么你编写模板的方法可能有问题,BTW这里是一个简单的重写规则

RedirectMatch 301 ^/wp-content/uploads/(.*)$ /subdir/wp-content/uploads/$1

subdir替换为您的子目录,此示例在wp-content的uploads子目录中进行,但您也可以应用于其他子目录。