Назад | Перейти на главную страницу

Компактные перенаправления в Apache / htaccess. Как? [Элегантный вопрос по кодированию]

при настройке перенаправления в htaccess у меня возникают проблемы с настройкой / объединением различных доменов, когда все они переходят на одну и ту же домашнюю страницу. Я могу сделать их отдельно, но это не изящно. Как третий абзац переписать, чтобы он работал?

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^website.de$    // works fine
RewriteRule ^$ de/home [R=301,L]

RewriteCond %{HTTP_HOST} ^website.fr$    // works fine
RewriteRule ^$ fr/home [R=301,L]

RewriteCond %{HTTP_HOST} ^website.com$    // doesnt work well
RewriteCond %{HTTP_HOST} ^website.org$    // doesnt work well
RewriteCond %{HTTP_HOST} ^website.net$    // doesnt work well
RewriteRule ^$ en/home [R=301,L]
RewriteCond %{HTTP_HOST} ^website\.(com|org|net)$
RewriteRule ^$ en/home [R=301,L]

Также лучший способ написать их все:

RewriteCond %{HTTP_HOST} ^website\.(fr|de)$
RewriteRule ^$ %1/home [R=301,L]

RewriteCond %{HTTP_HOST} ^website\.(com|org|net)$
RewriteRule ^$ en/home [R=301,L]

Еще одно примечание: вы можете комбинировать несколько условий RewriteCond и 'или', используя [OR], например:

RewriteCond ... [OR]
RewriteCond ...
RewriteRule ...