1

わかりましたので、どこでも検索しましたが、Drupal インストールをサブディレクトリから移動することについてはたくさん見つけることができますが、サブディレクトリに移動することについては何も見つかりません。私は最近このプロジェクトを引き継ぎましたが、それは私なしで開発されたので、ここに着陸しました。

問題は、サイトが開発サーバーのルートで開発され、サブディレクトリでそれを望んでいる人がいるということです。htaccess のベース URL を変更し、CSS と DB の参照を手動で変更しようとしましたが、すべて (モジュールなど) をキャッチしたかどうか確信が持てません。

私が知りたいのは、ルートに関連するすべてのリンクを強制的にルート/例に関連させる方法があるかということです。基本的に、かつて www.example.com にあったものはすべて、現在は www.example.com/subdirectory にあります。

ありがとう。

4

1 に答える 1

0

これには2つのピースがあります。最初に行ったことは、サブディレクトリを含むベース URL を設定するように htaccess を構成することです。

残念ながら、ノード コンテンツ (特に埋め込まれた画像) には、動作を停止するかなりの数の参照が含まれている可能性があります。

これに対する比較的簡単な解決策は、サイトのテーマに <base href="foo.com/dir" /> タグを含めることですが、これは長期的には優れた修正ではありません。

次のようなクエリを使用して、データベースを直接変更することができます (注意して使用し、事前にデータベースをバックアップするなど)。

UPDATE field_revision_body SET body_value = REPLACE(body_value, 'devdomain.com', 'proddomain.com/subdir') (これらのクエリに http:// を追加します)

特にマルチサイトを使用している場合は、ディスク上の新しい場所を反映するためにファイル テーブルのパスを更新する必要がある場合もあります。

または、バックアップと移行モジュールを使用して、コンテンツを開発サーバーから新しいインスタンスの新しいインストールに移動することを検討しましたか?

于 2013-03-12T19:45:42.750 に答える