Поддомен htaccess как get с переменными

57
2

Я пытаюсь сделать так.

user.mydomain.com -> mydomain.com/user.php?user=user
user.mydomain.com/content_(.*).xhtml -> mydomain.com/user.php?user=user&content=(.*)
user.mydomain.com/content_(.*).xhtml?get=(.*) ->mydomain.com/user.php?user=user&content=(.*)&get=(.*)

Я уже пробовал это

<Directory "/var/www/html">

RewriteEngine On

# host doesn't start with www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^m\. [NC]

# host starts with something else
RewriteCond %{HTTP_HOST} ^([^\.]+)\.mydomain\.com$ [NC]

# rewrite
RewriteRule ^(.*)$ users.php?user=%1
RewriteRule ^users\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^content_(.*).xhtml$ users.php?user=%1&content=$1 [L,QSA]
</Directory>

но он передает только субдомен, а не значение параметров содержимого.

спросил(а) 2014-01-18T18:28:00+04:00 6 лет, 9 месяцев назад
1
Решение
99

Используйте этот код в DocumentRoot/.htaccess:

RewriteEngine On

RewriteRule ^users\.php$ - [L]

RewriteCond %{HTTP_HOST} !^(?:www|m)\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com$ [NC]
RewriteRule ^$ /users.php?user=%1 [L,QSA]

RewriteCond %{HTTP_HOST} !^(?:www|m)\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com$ [NC]
RewriteRule ^content_([^.]+)\.xhtml$ /users.php?user=%1&content=$1 [L,QSA,NC]

ответил(а) 2014-01-18T21:08:00+04:00 6 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема