Подтвердить что ты не робот

С mod_rewrite я могу указать RewriteBase в RewriteCond?

Я хочу, чтобы мой файл .htaccess указывал другую RewriteBase в зависимости от того, находится ли файл .htaccess на моем локальном компьютере или на веб-сервере. Это код mod_rewrite, который я пробовал, однако он не работал:

RewriteCond %{HTTP_HOST} ^localhost:8080
RewriteBase /example/
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteBase /

Это может быть полезно для предварительного просмотра нескольких веб-сайтов на моем локальном компьютере, а затем для загрузки этих сайтов на веб-серверы для отдельных доменных имен.

4b9b3361

Ответ 1

Единственное решение, которое мы наконец нашли, выглядит так:

# Activation of the URL Rewriting
Options +FollowSymlinks
RewriteEngine On

# RewriteBase equivalent - Production
RewriteCond %{HTTP_HOST} !^localhost$
RewriteRule . - [E=REWRITEBASE:/production/path/]

# RewriteBase equivalent - Development
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule . - [E=REWRITEBASE:/development/path/]

# Rewriting
RewriteRule ^(.*)$ %{ENV:REWRITEBASE}index.php?page=$1 [L]

Этот код предлагает способ имитации разностей "RewriteBase".