サイトをサブフォルダーからルートに移動する方法は?


12

joomlaサイトがあり、ホスティングアカウントのサブフォルダーにインストールされています。

したがって、自分のサイトにアクセスしたい場合は、www.mysite.com/joomlaと入力する必要があります。ドメインwww.site.comでサイトのホームページに直接アクセスできるようにしたい。

これを行う方法 ?

回答:


14

以下は、joomlaサイトをサブフォルダーからルートに移動するために必要な手順です。

  1. FTPクライアントを使用して、FTP経由でホスティングアカウントに接続するか、ホスティングアカウントのコントロールパネルで使用できるファイルマネージャーを使用します。
  2. Joomlaが存在するフォルダー(root / joomla)に移動します。
  3. configuration.phpファイルを見つけ、ダウンロードしてテキストエディターで開きます(ms wordのようなワープロソフトウェアではありません)。
  4. 次の行を探しています:

    var $live_site = '';
    var $log_path = '/home/username/public_html/joomla/logs';
    var $tmp_path = '/home/username/public_html/joomla/tmp';
    var $ftp_root = 'public_html/joomla';
    

    への変更:

    var $live_site = '';
    var $log_path = '/home/username/public_html/logs';
    var $tmp_path = '/home/username/public_html/tmp';
    var $ftp_root = 'public_html';
    

場合は$live_site、変数が値を持っていた。
たとえば、$live_site = 'http://www.site.com/joomla';

次に調整します:
$live_site = 'http://www.site.com';

  1. configuration.phpを保存して、以前の場所にアップロードします。
  2. .htaccessという名前のファイルを確認します。利用可能な場合は、これも編集します。次の行を探しています:

    RewriteBase /joomla への変更: RewriteBase /

* joomlaの代わりに、joomlaが存在する実際のサブフォルダの名前が表示されることを期待してください。

  1. ルートフォルダに戻ります。古いサイトのファイルやフォルダーがある場合は、新しいフォルダーを作成し、「古いサイト」などの名前を付けて、そのフォルダーにすべてのファイルを配置することをお勧めします。
  2. Joomlaインストールのファイル/フォルダーをルートフォルダーに移動するだけです。
  3. 移動が完了したら、管理者にログインしてJoomlaのキャッシュを消去します。[システム]-> [キャッシュのクリア]に移動し、キャッシュファイルをクリーンアップします。
  4. サイトのフロントエンドを確認してください。
  5. すべてが正常に機能する場合は、不要になった古いサイトのファイルを忘れずに削除してください。

5

ここにもう少しだけ。ほとんどの場合、robots.txtファイルには触れないため、これを行う必要はありませんが、次のようなものがある場合は、

User-agent: *
Disallow: /joomla/administrator/
Disallow: /joomla/bin/
Disallow: /joomla/cache/
Disallow: /joomla/cli/
Disallow: /joomla/components/
Disallow: /joomla/includes/
Disallow: /joomla/installation/
Disallow: /joomla/language/
Disallow: /joomla/layouts/
Disallow: /joomla/libraries/
Disallow: /joomla/logs/
Disallow: /joomla/modules/
Disallow: /joomla/plugins/
Disallow: /joomla/tmp/

次に/joomla、各パスの先頭にあるプレフィックスを削除する必要があります。


5

ホストへのシェルアクセスがある場合、webrootの外部にJoomlaインストールを保存してシンボリックリンクすることも理にかなっています。このようにして、インストールをソース管理したり、複数のステージング/運用バージョンを簡単に切り替えたりできます。

これをサブドメインで使用すると、新しいバージョンのテストプロセスがはるかに簡単になります。


これについて詳しく説明していただけますか?これを達成する方法に関する新しい質問と回答の投稿かもしれませんが、多くのユーザーにとって興味深いものになるかもしれません。
johanpw

私はその上で作業する必要がありますので、SEは、質問に対する私の潜在的なタイトルのように思えませんでしたが、私はここで別の答えに、このプロセスについて詳しく述べた:joomla.stackexchange.com/q/4145/58
ジェレミーProffitt

3

最善の方法は、Webホスティングサイトでサイトの割り当てられたルートフォルダ変更することです。これを行うと、サイトの新しいバージョンを構築し、古いバージョンを保存/維持できます。私がしなければならないのは、新しいバージョンをリリースするたびに、ドメインの「ドキュメントルート」を新しいフォルダに変更することだけです。サイトのリダイレクトは避けてください。Googleの検索アルゴリズムはそれを気に入らないようです。


2

Akeeba BackupコンポーネントとAkeeba Kickstartスクリプトの使用を誰も提案していないのはなぜだろうか。一部のユーザーにとっては、FFrewinが提案したのと同じことを行うより簡単な方法かもしれません。Akeebaはすべてを自動的に行います。

どちらも無料です(基本バージョンでは、プロは必要ありません)。AkeebaBackup.com/downloadから直接ダウンロードできます

必要な手順は次のとおりです。

  1. Akeeba Backupをインストールする
  2. Joomla Administrationでコンポーネントを開いた直後に、Akeeba Backupをセットアップすると、ワンクリックの自動セットアップがあります。
  3. Akeeba Backup経由でサイトをバックアップします
  4. バックアップ(.jpaファイル)をダウンロードします
  5. FTPの新しい場所にバックアップをアップロードします(ホストが異なる場合でも、フォルダーが異なる場合でも、ローカルホストでもどこにでもサイトを移動できます)
  6. Akeeba Kickstartを解凍し、.jpaファイルをアップロードしたのと同じ場所にkickstart.phpファイルをアップロードします
  7. ブラウザで、http://newlocation.xy/kickstart.phpに直接移動します
  8. Akeeba Kickstartが開きます。直接的な方法を選択してください
  9. プロセス全体に進み、必須フィールドに入力します(新しいJoomlaインストールのように)
    • データベース接続設定(サーバー、名前、パスワード)-既存のデータベースと同じデータベースを保持する場合は、異なるテーブルプレフィックスを使用します
    • Webサイトの設定-最も重要なのは、http://を含む新しいライブURLを設定することです。さらに、superadminパスワードを変更し、新しいFTPアカウントをセットアップすることもできます)
    • すべてが完了したら、「インストールフォルダを削除」をクリックします
  10. それだけです。新しいサイトが機能する場合、以前の場所にあるサイトと古いデータベーステーブルを削除できます(これらは異なるプレフィックスを持つか、別のデータベースにある必要があります)。

以前のインストールを削除する前に、新しいインストールが実際に機能することを確認してください。バックアップファイルがダウンロードなどによって破損し、バックアップをインストールできない可能性があります。

私はこれがもう少し複雑な方法のように見えることも知っていますが、そうではありません、それは簡単で通常は速いと信じています-あなたのFTPの場所からコンピュータに数千のファイル(Joomla全体)をコピーして新しいFTPの場所にアップロードする数時間かかります。Akeebaを使用すると、1時間以内に稼働できます(Joomla Webサイトのサイズによって異なります)。


質問は、同じホスティングのルートにあるサブディレクトリからインストールを移動することに関するものなので、Akeebaを提案する人はいませんでした。
FFrewin

それでも、そのためにAkeebaを使用できます。それは単なる別のオプションです。
TeeJay 14年

1
もちろんそれはオプションですが、答えで説明しているのは、パリから東京を経由してロンドンに行くようなものです。この手順はすべて不要です。あなたは、実際の手順が数分である必要があり、データベースをいじる必要がまったくないときに、1時間未満で稼働できることを述べました。
FFrewin

Akeebaインストーラースクリプトは、構成内のtmpやキャッシュパスなどを調整するために特別に記述されているため、このような状況ではAkeebaを使用することを好みます。また、完全バックアップの利点もあります。1時間は、Cpanelファイルマネージャーを使用してサーバー自体のファイルを移動する場合に実際にかかるよりもはるかに長いプロセスです。ほとんどのサイトでは、2分未満でバックアップを取ることができます。ファイルの移動は30秒で、ルートに約1分または2展開します。また、個々のファイルパスのチェックは修正しません。
トニマリー

これは可能な解決策ですが、Akeeba Backupは、拡張機能を必要としない簡単なプロセスなどには過剰すぎると思います。Akeebaを使用すると、バックアップを作成し、ダウンロードし、キックスタートを設定し、基本的にJoomlaを再度インストールする必要があります(いわば)。ホスティングファイルマネージャーを使用して単純にフォルダーを移動し、構成内のいくつかの行を微調整できる長いプロセス
Lodder 14年

2

localhostを次のようなルートフォルダーではなくサブフォルダーにリダイレクトする場合

/var/www/subfolder

次に、サーバーでこの構成を行う必要があります。次のパスでファイルを開きます。

/etc/apache2/sites-enabled/000-default.conf

次に、次のフォルダのルートパスを変更する必要があります。

ServerAdmin webmaster@localhost
DocumentRoot /var/www/subfolder

localhostを実行すると、サブフォルダーのファイルが開きます。


この回答は、Ubuntuなどの特定のディストリビューションでApacheサーバーを使用しているLinuxユーザーにとって便利なようです。さらに、ルートにサブフォルダーしかない場合は、サブフォルダーをルートに移動することをお勧めします。
ファラマン14年

0

Akeeba Backupはうまく機能します。ルートに以前のjoomlaサイトが既にインストールされている場合、新しいサイトをルートに移動する前に必ずルートのjoomlaフォルダーを削除してください。そうしないと、以前のバージョンから互換性のないテンプレートなどが残っている可能性があります。

また、cpanel-> myPHP adminにアクセスして、データベースを別のバックアップ層にエクスポートすることをお勧めします。Akeebaのバックアップファイルにはデータベースが含まれているため、これは単なる冗長性です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.