2012-08-02 3 views
0

Ok длинного рассказа короткие:.htaccess подобласть трафика в папку и вложенные папки

http://subdomain.domain.com/test1/test2 необходимо отобразить информацию здесь: http://domain.com/agents/subdomain/test1/test2

и, очевидно, если вы с этим http://subdomain.domain.com/ необходимо отобразить http://domain.com/agents/subdomain/

Вот что у меня есть:

RewriteEngine On 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L] 


RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com [NC] 
RewriteCond %{HTTP_HOST} ([^\.]+)\.domain\.com [NC] 
RewriteCond %{REQUEST_URI} !^/agents 
RewriteRule ^(.*)$ /agents/%1/$1/ [L] 

Мне нужно первое правило, чтобы избавиться от index.php из URL.

Я могу получить первую выполненную часть http://subdomain.domain.com/, но не вложенные папки.

выше синтаксис бросает внутреннюю ошибку сервера, но если изменить последнюю строку:

RewriteRule ^$ /agents/%1/$1/ [L] 

это работает, кроме я не могу добраться до подкаталогов.

ответ

0

Ok наконец понял это ... вот решение:

RewriteEngine On 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} ^(www\.)? domain\.com [NC] 
RewriteRule ^(.*)$ /index.php?/$1 [L] 


RewriteCond %{HTTP_HOST} !^(www\.)? domain\.com [NC] 
RewriteCond %{HTTP_HOST} ([^\.]+)\. domain\.com [NC] 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^/?(.*) /index.php?/agents/%1/$1 [L] 
Смежные вопросы