web-dev-qa-db-ja.com

Wordpressをサブディレクトリに移動し、すべてのURLを保持する

私は現在site.comにウェブサイトがあり、WordPressがウェブサイトのルートフォルダにインストールされています。私のウェブサイトには以下のようなページがあります。

  • site.com
  • site.com/page
  • site.com/2015/10/01/投稿....
  • site.com/login
  • site.com/wp-content/uploads/...

私はすべてのWordPressファイルを健全性のために1つのサブディレクトリに移動したいと思っています。こちらの他の記事や公式のサポートスレッドは「WordPressに独自のディレクトリを与える」という話をしていますが、URLを変更する必要があります。

これが可能かどうか教えてください。

2

この手順はCodexの ルートインストールを独自のディレクトリに移動する に徹底的に文書化されています。

あなたはその中のURLを変更することについてのポイントを誤解しています、そして、はい、専門用語は吸います。変更されるのは、「WPアドレス」に基づくURLだけです。それがWordPressのコア、本質的には管理領域になります。

すべてのコンテンツURLは、この手順に従って「サイトアドレス」に基づいています。これは、引き続きサイトのルートになります。

アップロードをそのままにしておきたいので、wp-contentをルートに保ち(コアフォルダから分割して)、そのための設定を調整することでそれを実行できます。 wp-contentフォルダの移動 を参照してください。

5
Rarst

さて、ここでそれが行われる方法は次のとおりです。

  1. wp-*index.php.htaccessを新しいwordpressフォルダーに移動します
  2. wordpress/.htaccessを編集します。

    • この行を見つけます:RewriteRule . /index.php [L]
    • それを作ります:RewriteRule . /wordpress/index.php [L]
  3. /path/to/www.htaccessという名前の新しいファイルを作成し、これを追加します。

RewriteEngine on
RewriteRule ^$ https://www.example.com/ [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1 [L]
</IfModule>
1

Wordpressの設定を変更せずにWordpressファイルを別のフォルダ(ディレクトリ)に移動するための方法、つまりWordpressでは完全に透過的です。

  1. wordpressのインストール先を移動するディレクトリを作成します。 "シテディル"
  2. .htaccessを含むWPインストールを、新しく作成したディレクトリに移動します。
  3. wwwルートディレクトリ(おそらくpublic_html)の.htaccessファイルを編集して、次のスタンスを挿入します。
 RewriteEngine On 
 RewriteBase /

#./sitedir/ 
にリダイレクトします。RewriteCond%{http_Host} ^ example\.com $ [.____ RewriteCond%{request_uri}!^/sitedir(/.*)$
 RewriteRule ^(。*)$/sitedir/$ 1 [L、QSA] 
 
#extra www.example.comをexample.comにリダイレクトします。
 RewriteCond%{http_Host} ^ www\.example\.com [NC] 
 RewriteRule ^(。*)http://example.com/$ 1 [R = 301、L] 

"example.com"をあなたのドメインで "sitedir"をWPが置かれるフォルダの名前で置き換えてください。

0
Paul Oranje