.htaccess регулярное выражение для HTTP_HOST, за которым следует определенная папка - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь отредактировать мой файл .htaccess, чтобы сделать следующее: 1) Определите, не является ли HTTP_HOST моим собственным доменом, example.com 2) Определите, является ли это otherdomain.com/admin/_anything_here_

/ admin / - это конкретная папка, которую я ищу, тогда мне все равно, что будет после нее (но мне нужно держать ее там). Поэтому в основном все, что имеет / admin / в качестве первой папки и не является example.com, должно переписываться на otherdomain.com/admin/_anything_still_here_

Насколько я понимаю, использование (. *) $ "Сохранит" часть _anything_here_ и позволит мне использовать ее с $ 1.

Пока у меня есть это, но оно не работает полностью:

RewriteCond ^%{HTTP_HOST}+(/admin.*)$ !^([^.]+\.)*example\.com+(/admin.*)
RewriteRule (.*)$ rewrite/to/here$1/ [L]

1 Ответ

1 голос
/ 14 февраля 2012

Попробуйте добавить следующее в файл .htaccess в корневом каталоге вашего сайта.

Вам необходимо заменить somefolder фактической папкой, в которую вы хотите переписать

RewriteEngine on
RewriteBase / 

#if its not example.com
RewriteCond %{HTTP_HOST} !example\.com$ [NC] 
#if its admin folder, rewrite it to somefolder
RewriteRule ^(admin/.*)$  somefolder/$1[L,NC] 

Вышеприведенное предполагает, что otherdomain.com и example.com находятся на одном сервере с одной и той же корневой папкой.

...