htaccess поддоменов mod_rewrite, наследующих правила от основного домена - PullRequest
0 голосов
/ 23 июля 2010

Я хочу перенаправить m.example.com на example.com/index.php?type=mobile, наследуя правила, которые я уже написал для example.com ...

Итак, скажем, я уже определил N правил, выглядящих примерно так:

^view/([A-z]+) index.php?view=$1
^delete/([A-z]+) index.php?delete=$1
^page/view/([A-z]+)/([0-9]+) index.php?view=$1&page=$2
^page/delete/([A-z]+)/([0-9]+) index.php?delete=$1&page=$2

Без необходимости переписывать каждый из них для субдомена m.example.com, есть ли способ для m.example.com наследовать те же правила, но с флагом субдомена type=mobile?По сути, без добавления еще N строк для .htaccess, расположенного в папке субдомена m:

^view/([A-z]+) index.php?view=$1&type=mobile
^delete/([A-z]+) index.php?delete=$1&type=mobile
^page/view/([A-z]+)/([0-9]+) index.php?view=$1&page=$2&type=mobile
^page/delete/([A-z]+)/([0-9]+) index.php?delete=$1&page=$2&type=mobile

Ответы [ 2 ]

1 голос
/ 24 июля 2010

Вы можете просто проверить HTTP_HOST в своем скрипте PHP:

$mobile = isset($_SERVER['HTTP_HOST']) && strtolower($_SERVER['HTTP_HOST']) === 'm.example.com';
0 голосов
/ 25 июля 2010

Так что попробуйте что-то новое:

RewriteCond %{HTTP_HOST} ^([^.]+)\.example.com [NC]
RewriteRule ^view/([A-z]+) index.php?view=$1&type=%1

Это то, что вы ищете?

...