У меня есть такая структура на моем сайте:
/
/ portal <- (папка WordPress) </p>
когда кто-то заходит на www.example.com, он должен перенаправить на https://www.example.com/portal, но не должен показывать портал, поэтому адресная строка должна выглядеть следующим образом: https://www.example.com
Поскольку это сайт WordPress + Woocomerce, мне также нужны некоторые перенаправления:
http://www.example.com/carrito до
https://www.example.com/carrito
Проблема в том, что в этот момент, когда я ввожу http://www.example.com/carrito, он меняет адресную строку на https://www.example.com/portal/carrito
В настоящее время у меня есть файлы .htaccess:
/. Htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?
example.com$
RewriteCond %{REQUEST_URI} !^/portal/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /portal/$1
RewriteCond %{HTTP_HOST} ^(www.)?
example.com$
RewriteRule ^(/)?$ portal/index.php [L]
</IfModule>
/ портал / .htaccess
RewriteEngine On
# If we receive a forwarded http request from a proxy...
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
# ...or just a plain old http request directly from the client
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTPS} !=on
# Redirect to https version
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L]
# RewriteCond %{SERVER_PORT} ^80$
# RewriteRule ^(.*)$ https://%{SERVER_NAME}/%{REQUEST_URI} [R=301,L]
# 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