我在一个子目录中安装了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"
我不想手动硬编码子目录,以防我以后不需要使用它。我希望它具有普遍性......
答案 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子目录中进行,但您也可以应用于其他子目录。