Как уже упоминал Шейн Мэдден, первый RewriteCond
не выглядит так, как будто он будет соответствовать чему-либо. Причина двоякая: во-первых, первый .
не экранирован, и, во-вторых, переменная% {HTTP_HOST} не содержит косой черты, поэтому весь раздел после domain \ .com
не будет ни с чем соответствовать.
RewriteCond %{HTTP_HOST} ^([^./]+)\.domain\.com/([a-zA-Z0-9/-]+)$
Я никогда не использовал% 1 слева сторона RewriteCond раньше. Если вы не уверены, что это работает, если у вас возникнут другие проблемы, попробуйте удалить эту строку, чтобы устранить ее как возможную причину. Также там не должно быть входа =
. Просто ! Www
- это то, что вам здесь нужно. Если у вас есть проблемы с этой строкой, измените ее, чтобы использовать переменную % {HTTP_HOST}
вместо% 1.
RewriteCond %1 !=www
$ 2
в подстановке этого RewriteRule не имеет соответствующего набора скобок в шаблоне, поэтому он будет пустым. Возможно, вы захотите добавить к этому узор большего размера. Если у него есть только один подходящий набор скобок, $ 1 будет тем, что вам нужно, даже если у вас уже есть% 1 в замене. Я подозреваю, что вы также захотите сделать этот /redirect.php ...
если вы делаете это в файлах конфигурации, а не в .htaccess.
RewriteRule ^ redirect.php?subdomain=%1&args=$2
Кроме того, я мог бы добавить, что сопоставление просто ^
склонно к созданию циклов. Будьте осторожны с этим.
/redirect.php ...
если вы делаете это в файлах конфигурации, а не в .htaccess.
RewriteRule ^ redirect.php?subdomain=%1&args=$2
Кроме того, я мог бы добавить, что сопоставление просто ^
склонно к созданию циклов. Будьте осторожны с этим.
/redirect.php ...
если вы делаете это в файлах конфигурации, а не в .htaccess.
RewriteRule ^ redirect.php?subdomain=%1&args=$2
Кроме того, я мог бы добавить, что сопоставление просто ^
склонно к созданию циклов. Будьте осторожны с этим.