Переписать .htaccess в другой домен на том же сервере без изменения URL - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть веб-приложение, которое имеет "красивые URL". Файл .htaccess выглядит следующим образом:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-z0-9]+)(/)?([a-z0-9]+)?$ /home/user/domains/domain1.com/public_html/sites/index.php?site=$1&page=$3 [QSA]

Так что, когда я ввожу domain1.com/site/page, это на самом деле показывает мне domain1.com/index.php?site=site&page=page. Это отлично работает.

НО

У меня есть другой домен, скажем, domain2.com. У меня это в той же учетной записи в DirectAdmin. Когда я вхожу в учетную запись ftp и захожу на domains/, я вижу там и domain1.com, и domain2.com.

Я хочу заставить domain2.co.il показать domain1.com/index.php?site=domain2

Я поместил тот же файл .htaccess (с небольшим изменением параметра site) в public_html из domain2.com. В результате ошибка 404.

Итак, вопрос: как заставить работать так, как я хочу?


Я также прочитал следующие посты, но, похоже, не могу их использовать. Может быть, я просто не понимаю, как:

1 Ответ

0 голосов
/ 09 февраля 2012

Предполагается, что структура вашей папки выглядит как

/domains
    /domain1.com
    /domain2.com

Вы можете сделать это, используя следующее правило:

RewriteRule ^(.*)? ../domain1.com/index.php?site=domain2&q=$1 [L]

С большой вероятностью вам придется использовать функцию PHP chdir(), чтобы заставить ее работать в правильном каталоге, что можно сделать, передав chdir() магическую константу PHP __DIR__.

...