Next JS 애플리케이션의 하위 디렉터리에 WordPress를 생성하는 방법
P粉006540600
2023-08-29 14:53:13
<p>커뮤니티 여러분, 안녕하세요.</p>
<p>내 웹 애플리케이션은 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() {
반품 {
대체: [
{
출처: "/community/:path*",
대상: `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/themes/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</p> 대신 wordblog.com/community/pageX 아래에 렌더링됩니다.
Apache 설정에서 Alias 지시문을 사용하여 이 문제를 해결할 수 있습니다: https://httpd.apache.org/docs/2.0/mod/mod_alias.html#alias
이는 nextJS에서 리디렉션을 제거해야 함을 의미합니다. Apache는 WordPress 설치에서 /community를 제공하는 것을 알게 됩니다.