Apache mod_rewrite субдомен и аргументы url

50 человек могут использовать Sharepoint, и 10 из тех людей, позволяют использовать функции Enterprise...

2
задан 14 December 2011 в 09:08
1 ответ

Как уже упоминал Шейн Мэдден, первый 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

Кроме того, я мог бы добавить, что сопоставление просто ^ склонно к созданию циклов. Будьте осторожны с этим.

даже если у вас уже есть% 1 в замене. Я подозреваю, что вы также захотите сделать этот /redirect.php ... если вы делаете это в файлах конфигурации, а не в .htaccess.

RewriteRule ^ redirect.php?subdomain=%1&args=$2

Кроме того, я мог бы добавить, что сопоставление просто ^ склонно к созданию циклов. Будьте осторожны с этим.

даже если у вас уже есть% 1 в замене. Я подозреваю, что вы также захотите сделать этот /redirect.php ... если вы делаете это в файлах конфигурации, а не в .htaccess.

RewriteRule ^ redirect.php?subdomain=%1&args=$2

Кроме того, я мог бы добавить, что сопоставление просто ^ склонно к созданию циклов. Будьте осторожны с этим.

0
ответ дан 3 December 2019 в 15:53

Теги

Похожие вопросы