ordpress フォルダ /var/www/html/example/wp
トップ画面 url:http://example.local/wp/ これを
トップ画面 url:http://example.local にしたい
現在の設定
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.local
DocumentRoot /var/www/html/example
<Directory /var/www/html/example>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
LogLevel debug
</VirtualHost>
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress
db
option_id option_name option_value autoload
3 home http://example.local/wp on
2 siteurl http://example.local/wp on
==================================================
トップ画面 url:http://example.local
管理 画面 url:http://example.local/wp-admin
にするための手順
トップ画面のURLを http://example.local
に変更するためには、以下の手順を実行してください。
- **
/etc/apache2/sites-available/example.conf
の修正 - **:
DocumentRoot
を wp に変更します。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.local
## ここ ###########
DocumentRoot /var/www/html/example/wp
## ここ ###########
<Directory /var/www/html/example/wp>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
LogLevel debug
</VirtualHost>
.htaccess
の修正:RewriteBase
とRewriteRule
を更新します。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
## ここ ###########
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
## ここ ###########
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- データベースの修正:
home
とsiteurl
の値をhttp://example.local
に変更します。
UPDATE wp_options SET option_value = 'http://example.local' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'http://example.local' WHERE option_name = 'siteurl';
- Apacheの再起動:
設定を反映させるためにApacheを再起動します。
sudo systemctl restart apache2
これで、トップ画面のURLが http://example.local
に変更され、管理画面のURLは http://example.local/wp-admin
になります。
shimimane: この変更に伴って 現在のdbのurl部分の変更が必要ではないかと思います。
db のどのテーブルを変更していけばいいでしょうか?
GitHub Copilot: はい、データベースのURL部分の変更が必要です。以下のテーブルとフィールドを変更してください。
wp_options
テーブル:
option_name
がhome
のoption_value
をhttp://example.local
に変更option_name
がsiteurl
のoption_value
をhttp://example.local
に変更
以下のSQLクエリを実行してください。
UPDATE wp_options SET option_value = 'http://example.local' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'http://example.local' WHERE option_name = 'siteurl';
``
`wp_posts` テーブルの `guid` フィールドに登録されているURLも変更する必要があります。以下のSQLクエリを実行して、`guid` フィールドのURLを一括で更新します。
sql
UPDATE wp_posts
SET guid = REPLACE(guid, ‘http://example.local/wp/’, ‘http://example.local/’)
WHERE guid LIKE ‘http://example.local/wp/%’;
このクエリは、`guid` フィールドに含まれる `http://example.local/wp/` を `http://example.local/` に置き換えます。
また、投稿内容やメディアファイルのURLも変更する必要がある場合があります。その場合は、以下のように `post_content` フィールドも更新します。
sql
UPDATE wp_posts
SET post_content = REPLACE(post_content, ‘http://example.local/wp/’, ‘http://example.local/’)
WHERE post_content LIKE ‘%http://example.local/wp/%’;
これで、`wp_posts` テーブルの `guid` フィールドと `post_content` フィールドのURLが更新されます。
# 他のテーブルにもURLが含まれている可能性があります。特に以下のテーブルとフィールドを確認し、必要に応じてURLを更新してください。
1. **`wp_postmeta` テーブル**:
- `meta_value` フィールドにURLが含まれている場合があります。
sql
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, ‘http://example.local/wp/’, ‘http://example.local/’)
WHERE meta_value LIKE ‘%http://example.local/wp/%’;
2. **`wp_usermeta` テーブル**:
- `meta_value` フィールドにURLが含まれている場合があります。
sql
UPDATE wp_usermeta
SET meta_value = REPLACE(meta_value, ‘http://example.local/wp/’, ‘http://example.local/’)
WHERE meta_value LIKE ‘%http://example.local/wp/%’;
3. **`wp_options` テーブル**:
- `option_value` フィールドにURLが含まれている場合があります。
sql
UPDATE wp_options
SET option_value = REPLACE(option_value, ‘http://example.local/wp/’, ‘http://example.local/’)
WHERE option_value LIKE ‘%http://example.local/wp/%’;
“`
これらのクエリを実行することで、他のテーブルに含まれるURLも一括で更新できます。必要に応じて、他のカスタムテーブルやプラグインのテーブルも確認してください。
コメント