0

好的长话短说:

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]

它可以工作,除了我无法进入子目录。

4

1 回答 1

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]
于 2012-08-02T15:30:21.620 回答