перенаправить каталог на новый домен, не трогая основной сайт

перенаправить каталог на новый домен, не трогая основной сайт

Я хотел бы перенаправитьhttps://mineyourmind.de/forumкhttps://mineyourmind.net/forum.

Все правила перезаписи, которые я смог найти в Google, не сработали, они также перенаправили основной домен (mineyourmind.de).

Я перенаправляю http:// www. и http:// и https:// через Apache Siteconfig.

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>

Нужно ли мне добавить переписывание mineyourmind.de/forum на mineyourmind.net/forum в конфигурацию сайта Apache или в htaccess и как это должно выглядеть?


редактировать:

Я попробовал так:

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.

Связанный контент