Действительно ли возможно записать htpasswd файл, который перенаправляет определенных пользователей к определенным каталогам?

Что произошло, если Вы проверяете с помощью ping-запросов на images.mydomain.com? Вы получаете ответ из своего сервера?

1
задан 3 May 2010 в 23:09
1 ответ

Apache mod_rewrite является Вашим другом, он может использовать HTTP-заголовки.

RewriteEngine On
RewriteCond %{REMOTE_USER} ^joecorleone101$
RewriteRule .* dir3/ [R,L]
  • Если HTTP REMOTE_USER равняется использованию joecorleone101 переписать правило
  • Соответствие против всего (.*)
  • Перепишите URL к dir3
  • [R] перенаправление
  • [L] прекратите переписывать

Можно также использовать REMOTE_USER в substition части:

RewriteCond %{REMOTE_USER} ^.*$
RewriteRule .* %{REMOTE_USER}/ [R,L]
  • Если REMOTE_USER заполнен (^.* $), используют переписать правило
  • Соответствие против всего (.*)
  • Перепишите URL к значению в REMOTE_USER
  • [R] перенаправление
  • [L] прекратите переписывать

Это также работает от .htaccess, но имеет некоторые различия в поведении, каталог удален в сопоставлении с образцом и добавлен в части замены.

Использовать значение соответствовало в RewriteCond, можно использовать %N (1 <= N <= 9).

RewriteCond %{REMOTE_USER} (\d{3})$
RewriteRule .* http://www.example.com/%1 [R,L]
  • Соответствие против пользователей, кто конец имени с 3 цифрами (\d {3}) $
  • Соответствие против любого данного URL (.*)
  • Перепишите его на http://www.example.com/123 (если стороны пользователя с 123)
  • Перенаправьте и прекратите переписывать [R, L]
2
ответ дан 3 December 2019 в 22:34
  • 1
    Спасибо за ответ. Это указало на меня в правильном направлении –  user41157 4 May 2010 в 02:41
  • 2
    Скажите, я хочу записать это правило мной просто can' t вполне разбираются в нем: % #RewriteCond {LA-U:REMOTE_USER} (\d {3}) $ #RewriteRule! % ^ 1 clients.randomtype.ca / % 1 [R, L]. Это - то, что я означаю говорить: " Если REMOTE_USER имеет имя пользователя, заканчивающееся в 3 цифрах, затем получают три цифры, которые соответствуют, и безотносительно URL они пытаются получить доступ, если это не запускается с этих 3 цифр, полученных, затем перенаправляют их к подкаталогу с именем, равным тем полученным трем цифрам. (I' m выполнение этого в .htaccess файле между прочим). Я думаю, что это - первая инстанция ' %1' это не правильно. Какие-либо подсказки? –  user41157 4 May 2010 в 03:00
  • 3
    Проблемой является, вероятно, LAU, это только необходимо когда you' ре не в .htaccess файле. Ваш шаблон! % ^ 1 вызовет переписать правило стрелять, когда Ваш URL не запустится с цифр в имени пользователя. –  basvdlei 4 May 2010 в 18:16
  • 4
    О, я вижу, большое спасибо за Вашу справку. Я действительно ценю его. –  user41157 4 May 2010 в 19:34

Теги

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