기본 웹사이트를 건드리지 않고 디렉터리를 새 도메인으로 리디렉션

기본 웹사이트를 건드리지 않고 디렉터리를 새 도메인으로 리디렉션

리디렉션하고 싶습니다.https://mineyourmind.de/forum에게https://mineyourmind.net/forum.

Google에서 제공한 모든 재작성 규칙은 작동하지 않았으며 기본 도메인(mineyourmind.de)도 리디렉션했습니다.

http://www를 리디렉션하고 있습니다. Apache siteconfig를 통해 http:// 및 https://를 수행합니다.

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineoyurmind\.de$ [NC]
RewriteRule (.*) https://mienoyurmind.de%{REQUEST_URI} [R=301,L]

포럼 디렉토리의 .htaccess는 다음과 같습니다:

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default

<IfModule mod_rewrite.c>
    RewriteEngine On

    #   If you are having problems with the rewrite rules, remove the "#" from the
    #   line that begins "RewriteBase" below. You will also have to change the path
    #   of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo

    #   This line may be needed to enable WebDAV editing with PHP as a CGI.
    #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L] 
</IfModule>

myyourmind.de/forum에 대한 재작성을 Apache 사이트 구성이나 htaccess의mineyourmind.net/forum에 추가해야 하며 이는 어떻게 보일까요?


편집하다:

나는 이것을 다음과 같이 시도했다 :

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineyourmind\.de$ [NC]
RewriteRule (.*) https://mineyourmind.de%{REQUEST_URI} [R=301,L]
RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]

그리고 이렇게

RewriteEngine On
RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineyourmind\.de$ [NC]
RewriteRule (.*) https://mineyourmind.de%{REQUEST_URI} [R=301,L]

둘 다 작동하지 않습니다

답변1

"/forum"으로 시작하는 모든 요청을 리디렉션하는 규칙은 다음과 같습니다.

RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]

이는 "URI가 "/forum"으로 시작하는 경우 전체 URI를 캡처하고 대신 호스트 이름을mineyourmind.de로 바꿔야 함을 의미합니다. 이는 $1"방금 일치한 것"을 의미합니다.

편집하다:

이름에 "forum"으로 시작하는 파일도 리디렉션하지 않도록 하려면 두 가지 규칙이 필요할 수 있습니다.

# To match /forum only:
RewriteRule ^/forum$ https://mineyourmind.net/$1 [R=301,L] 
# To match any URI under the /forum directory, e.g. "/forum/" and "/forum/someotherfile.html"
RewriteRule ^/forum/(.*) https://mineyourmind.net/forum/$1 [R=301,L]

편집 끝

.htaccess에서 이 작업을 수행해야 하는지, Apache 사이트 구성에서 수행해야 하는지는 시스템 설정 방법, 즉 다른 사이트별 문서를 저장하는 위치에 따라 다릅니다. 일반적으로 .htaccess를 사용할 때 약간의 오버헤드가 있습니다. 왜냐하면 apache는 새로운 요청이 있을 때마다 .htaccess 파일을 다시 읽는 반면, 사이트 구성은 서버가 다시 시작될 때만 읽혀지기 때문입니다. 그러나 원칙적으로 관리하기 쉽도록 모든 재작성 구성을 가능한 한 동일한 파일에 함께 유지합니다. .htacces인지, virtualhost.conf인지, 아니면 httpd.conf인지는 귀하에게 달려 있습니다.

당신은 또한 읽어야합니다RewriteRule 문서/, RewriteRule에 이니셜을 포함해야 하는 상황을 설명합니다 .

관련 정보