С mod_rewrite я могу определить RewriteBase в RewriteCond?

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

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

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

21
задан 12 January 2010 в 00:19
поделиться

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".

30
ответ дан 29 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: