Я запускаю wordpress внутри laravel общественный папка, которая действует как корень моего сайта. Как мне перенаправить на другой IP-адрес сервера, то есть (xx.xx.xx.xxx), когда кто-то обращается к следующей подпапке: example.com/forum
Другой сервер запускает nginx с форумом в качестве единственного сайта.
Вот моя конфигурация apache vhost для сайта:
/etc/apache2/sites-available/example.conf
<VirtualHost *:80>
ServerName example.com
ServerAdmin me@example.com
DocumentRoot /var/www/example
RewriteEngine on
ProxyRequests off
#Redirect all HTTP requests to HTTPS
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
#Redirect forum subdirectory requests to forum server
RewriteRule ^/forum$ https://example.com/forum/ [R] [L]
RewriteRule ^/forum/(.*) http://xx.xx.xx.xxx/$1 [P]
<Directory /var/www/example>
AllowOverride all
</Directory>
</VirtualHost>
заявка .htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteBase /
# Redirect Trailing Slashes...
RewriteCond %{REQUEST_URI} ^/(live|api|auth|_debugbar)$
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
RewriteCond %{REQUEST_URI} ^/(live|api|auth|_debugbar)/.*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ laravel.php [L]
# Handle Front Controller...
RewriteRule ^index\.php$ - [L]
#admin panel route
RewriteRule ^([_0-9a-zA-Z-]+/)?admin-panel/(.*) $1wp-admin/$2?%{QUERY_STRING} [L]
RewriteRule ^login(.*) wp-login\.php/$1?%{QUERY_STRING} [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
Самый простой способ - добавить:
Redirect permanent /forum http://otherserver
в конфигурацию вашего apache vhost или добавить:
RewriteRule ^/forum(.*)$ http://otherserver/$1 [R=301,NC,L]
к вашему .htaccess.