Next JSアプリケーションのサブディレクトリにWordPressを作成する方法
P粉006540600
2023-08-29 14:53:13
<p>コミュニティの皆様、こんにちは。</p>
<p>私の Web アプリケーションは、domain.com というドメイン名で次の JS を使用します</p>
<p>次に、example.com/community</p> の下に wordpress ブログ (wordblog.com/community) を作成したいと思います。
<p>Next JS Rewrites を使用して、これを次の構成に追加しました: </p>
<pre class="brush:php;toolbar:false;">async rewrites() {
戻る {
後退する: [
{
ソース: "/コミュニティ/:パス*"、
宛先: `https://wordblog.com/community/:path*`、
}、
]、
}
},</pre>
<p>WordPress インストールフォルダー内。 </p>
<p>1- .htacces</p> に追加します。
<pre class="brush:php;toolbar:false;"><IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
ヘッダー セット Access-Control-Allow-Origin "*"
</ファイルマッチ>
</IfModule></pre>
<p>2-これを wp-config.php に追加します: </p>
<pre class="brush:php;toolbar:false;">define('WP_SITEURL', 'https://wordblog.com/community');
定義('WP_HOME', 'https://example.com/community');
定義('COOKIE_DOMAIN', '.example.com');</pre>
<p>3-この wp-content/messages/your-theme/functions.php</p> を追加しました。
<pre class="brush:php;toolbar:false;">remove_filter('template_redirect','redirect_canonical');
add_filter('rest_url', 'serve_rest_url_on_wp_subdomain');
関数serve_rest_url_on_wp_subdomain ($url) {
return str_replace('https://example.com/community', 'https://wordblog.com/community', $url);
}</pre>
<p>しかし、domain.com/community にアクセスすると、wordblog.com/community にリダイレクトされます。 </p>
<p>さらに、wordblog.com/community の一部のページは、domain.com/community/pageX ではなく wordblog.com/community/pageX にレンダリングされます</p>
Apache 設定で Alias ディレクティブを使用すると、この問題を解決できる場合があります: https://httpd.apache.org/docs/2.0/mod/mod_alias.html#alias
これは、nextJS のリダイレクトを削除する必要があることを意味します。 Apache は、WordPress インストールから /community にサービスを提供することを認識します。