.htaccess子域名流量到文件夹和子文件夹

时间:2012-08-02 14:40:52

标签: .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]

我需要第一条规则来从URL中删除index.php。

我可以完成第一件http://subdomain.domain.com/但不是子文件夹。

上面的语法抛出内部服务器错误,但如果我将最后一行更改为:

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

它起作用,但我无法进入子目录。

1 个答案:

答案 0 :(得分:0)

好吧终于想通了......这是解决方案:

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]