- 17, May 2024
- #1
Привет, у меня есть веб-сайт, предназначенный для перенаправления трафика на английскую версию основного сайта. Теперь я хотел бы перенаправлять весь трафик с этого сайта, кроме запросов в определенный каталог.
Логика должна быть примерно такой:
Я написал некоторую логику, очевидно, она не работает, поэтому я был бы признателен за отзывы/помощь.
- если не https, перенаправить на https
- если запрос касается хорошо известных задач, пусть на текущий сервер
- если запрос на файл с местоположением «язык», передать на текущий сервер
- если файл существует, показать файл
- иначе показать файл по умолчанию
- если файл существует, показать файл
- каждый второй запрос перенаправляется на main-website.dk/en
Я написал некоторую логику, очевидно, она не работает, поэтому я был бы признателен за отзывы/помощь.
RewriteEngine on
RewriteOptions inherit
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{DOCUMENT_ROOT}/language/%{REQUEST_URI} -f
RewriteRule (.*) /language/$1 [S=2]
RewriteCond !%{DOCUMENT_ROOT}/language/%{REQUEST_URI} -f
RewriteRule (.*) /language/default.json [S=1]
RewriteCond %{HTTP_HOST} ^site\.com [OR]
RewriteCond %{HTTP_HOST} ^www\.site\.com
RewriteRule ^(.*)$ [URL='https://lumtu.com/yti/bl99lbi9odHRwczovL21haW4td2Vic2l0ZS5kayk5S']https://main-website.dk/en/[/URL] [L]
Код (разметка):
<VirtualHost *:80> ServerName site.com ServerAlias www.site.com DocumentRoot /var/www/site-com <Directory /var/www/site-com> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/site.com-error.log CustomLog ${APACHE_LOG_DIR}/site.com-access.log combined RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge(/[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-]*)?$ RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [last,redirect=301] </VirtualHost>
Код (разметка): каталог /var/www/site-com содержит только языковой каталог с файлами и .httaccess.