好的长话短说:
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]
它起作用,但我无法进入子目录。
答案 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]