codememo

wordpress에서 htaccess가 있는 하위 폴더로 하위 도메인 라우팅

tipmemo 2023. 3. 29. 21:32
반응형

wordpress에서 htaccess가 있는 하위 폴더로 하위 도메인 라우팅

하위 도메인을 생성하려고 합니다.sub.domain.com표시하다domain.com/sub주소 표시줄을 변경하지 않아도 됩니다.

여기서의 다른 질문에 근거해, 다음의 .htaccess 룰을 생각해 냈습니다.

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]

문제는 WordPress 인스턴스를 사용하고 있으며 현재 .htaccess는 다음과 같습니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]

그러나 sub.domain.com을 참조하면 WordPress에서 홈페이지(domain.com)로 리다이렉트 됩니다.어떻게 하면 제대로 할 수 있을까요?


변경을 시도했다:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [NC]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>

근데 아직 안 되네

Apache 구성에서 가상 호스트를 생성해야 합니다.

<VirtualHost *:80>
    ServerName sub.domain.com
    DocumentRoot /var/www/sub
</VirtualHost>

또는VirtualDocumentRootmod_vhosts_mods가 네이블로 되어 있는 경우.

<VirtualHost *:80>
    ServerName sub.domain.com
    ServerAlias *.domain.com
    VirtualDocumentRoot /var/www/%1
</VirtualHost>

위에서는 /sub 디렉토리가 존재하는 경우 해당 디렉토리를 가리키고 있습니다.모든 변경이 완료되면 서버를 재시작합니다.

wp-config.php 파일에 다음 줄의 코드를 추가할 수 있습니다.

define('WP_HOME','http://sub.domain.com');
define('WP_SITEURL','http://sub.domain.com');

언급URL : https://stackoverflow.com/questions/59216801/subdomain-route-to-subfolder-with-htaccess-on-wordpress

반응형