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

mod_rewrite и несколько RewriteBases?

Как я могу установить базу перезаписи механизма перезаписи на

#access site via http://1.1.1.1/~sitename/
RewriteBase /~sitename/

когда к нему обращаются через http://1.1.1.1/~sitename/ и установите его на

#access site http://www.sitname.com
RewriteBase /

когда к нему обращаются через www.sitname.com?

Я хотел бы иметь какой-то переключатель или условие. Потому что теперь, когда я устанавливаю для RewriteBase одну из опций, сайт не работает при попытке доступа к нему с другим URL-адресом.

РЕДАКТИРОВАТЬ: Новый сайт та же проблема .... так это неразрешимо?

Поместите это с тегами в свой config. Что-то вроде следующего может помочь:

<Directory /path/to/document/root>
    RewriteBase /
    ....
</DirectoryMatch>

<Directory /home/sitename>
    RewriteBase /~sitename
    ....
</DirectoryMatch>

Для случая ~ sitename вы можете поместить его в .htaccess вместо того, чтобы упростить его определение для разных пользователей.

Если они находятся в разных хостах, вам также необходимо указать

RewriteEnging On

для них обоих.