当我在计算机上开发网站时,一切都很好,因为drupal安装在虚拟主机的根目录中。但当我将网站移动到另一个服务器到www' s子目录之一时,文件链接被破坏了。网址看起来像" / sites / default / files /..."他们指向www根。我已经将RewriteBase /my_dir
添加到.htaccess文件中,但它仍然无效。
更新 错误实际上是显而易见的:网址是绝对的," /"在它的开头。无论如何,谢谢你们。
更新1: 但它并不那么明显。我使用pathauto模块,当通过这个" / content / page-title"访问页面时,所以当我使用文件的相对路径时,它既不起作用。
答案 0 :(得分:0)
我希望您可以通过更改/sites/default/files/
到file_directory_path()
的路径来做到正确。以下某些功能可能对您有用
base_url
- 返回Drupal安装的基本URL
file_directory_path()
- 返回一个字符串,其中包含Drupal的'files'目录的路径。
path_to_theme()
- 返回当前主题元素的路径。
答案 1 :(得分:0)
所以你的Drupal网站在一个子目录下运行? (例如http://www.yourwebsite.com/my_dir
)
您可以做的是取消注释并将$base_url
内的settings.php
变量更改为正确的网址。 (第289行)。 Drupal将为您的所有资产(css,js,images,...)生成正确的URL,并且不需要PHP过滤器。
$base_url = 'http://www.yourwebsite.com/my_dir'; // NO trailing slash!