1
  • 我已经在本地机器(ubuntu,Xampp)上安装了drupal,位于localhost。
  • Path 和 Pathauto 模块处于活动状态(生成友好 URL 的模块)。

将我的本地安装迁移/推送到 www.mysite.com

  • 从 phpMyadmin(localhost) 导出 SQL。
  • 在实时站点上创建了一个新数据库(我认为与 localhost-DB 不同的名称不会产生任何问题)。
  • 将 SQL 导入 phpMyadmin,(mysite)。
  • 更改了 drupal 文件夹中 sites/default/settings.php 中的 username-password-DBname。
  • 现在,将 drupal 文件夹及其所有内容上传到“mysite.com”的 /www 中。

访问了 URL www.mysite.com,站点看起来和我的本地主机一样,很好。

但 -

  1. 我在我的 localhost/drupal 上创建了一个 tryPage,pathauto(cleanURL) 推荐了我明确更改为“trypage”的 URL“content/trypage”,因此该页面的绝对链接是“localhost/drupal/trypage”而不是“本地主机/drupal/内容/trypage”。
    现在,当我单击 mysite 上的 trypage 链接时,它会在对我的本地主机的引用中打开,我的本地页面已打开。也就是说,当我在 mysite.com 上单击 newpage 时,请求的 URL 是“localhost/drupal/newpage”而不是“www.mysite.com/newpage”。

    你认为这是因为 SEO 友好的 URL 生成问题,Pathauto 模块。

    无论如何我该如何解决这个问题
    如果我让我的“localhost/drupal”从同一个 URL(mysite.com)打开,我不知道该怎么做,我想通过配置虚拟主机。但如果我这样做,那么 URL www.mysite.com 将带我去哪里,本地或在线。

  2. 现在如果我在我的 localhost 站点上添加新模块、新内容、新页面和新书籍,并希望更新 mysite.com,我是否必须每次都重做 SQL 导出/导入,并使用 rsync/sitecopy() 之类的软件, 上传实时站点上的文件夹。我该如何解决这个问题。
4

1 回答 1

0

这是一个老问题,但这里有一些想法。

  1. Drupal 生成的链接(例如菜单链接、管理区域内的链接、面包屑等)应始终使用当前请求站点的域。Drupal 中的 URL 由“路由器”处理,它以相对格式存储数据库中的所有路径。

    也就是说,除非您在 settings.php($base_url 变量)中指定站点 URL,或者使用完全限定的 URL 链接到页面,否则这应该不是问题。可以使用各种模块来处理从其他节点到不同节点的链接。Pathologic是一个不错的选择,或者Path Filter

  2. 将 Drupal 站点从开发阶段转移到生产阶段仍然是一个常见问题,没有明确的解决方案。以前在这里问过这个问题。

于 2009-08-21T13:12:32.180 回答