Php 重写子域以查询字符串和掩码。目前正在循环和403';惯性导航与制导

Php 重写子域以查询字符串和掩码。目前正在循环和403';惯性导航与制导,php,apache,.htaccess,codeigniter,Php,Apache,.htaccess,Codeigniter,好久不见了 大家好 因此,我正在努力实现以下目标: www.domain.com domain.com -> 301 -> www.domain.com account-name.domain.com -> mask and ask server for -> domain.com/account/acount-name account-name.domain.com/page -> mask and ask server for -> domain.com/

好久不见了

大家好

因此,我正在努力实现以下目标:

www.domain.com
domain.com -> 301 -> www.domain.com
account-name.domain.com -> mask and ask server for -> domain.com/account/acount-name
account-name.domain.com/page -> mask and ask server for -> domain.com/account/account-name/page
etc..
到目前为止,我已经在htaccess中获得了以下信息:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule  ^(.*)$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^([^\.]+)\.([^\.]+)\.([^\.]+)$
RewriteRule ^(.*)$ account/%1$1 [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
然而,我一直收到这样的403消息,它看起来像一个循环

您没有访问的权限 /index.php/account/testindex.php/account/testindex.php/account/testindex.php/account/testindex.php/account/test

也许我错过了一些明显的东西,因为我已经为此工作了一段时间,最后一次尝试就放弃了。有可能吗

我的下一个挑战是……

一旦我把它整理好,我计划允许用户设置
CNAMES
并指向我们的domain.com,我希望能够将非domain.com请求重写为与上述结构类似的内容(如果不相同),因为我们显然可以使用regex测试域格式,然后从DB加载帐户。因此,任何关于这方面的建议都是一种奖励:)

设置

目前在Apache和Ubuntu 14服务器上使用Codeigniter

感谢您在advanced中的指导

-斯特凡

试着换衣服

RewriteRule  ^(.*)$ http://www.domain.com/$1 [R=301]

L
确保此重写是此请求的最后处理规则。否则,Apache也将应用您的其他重写规则,从而导致:

/index.php/account/testindex.php/account/testindex.php/account/testindex.php/account/testindex.php/account/test


更新(问题现在反映)但仍然循环:-/好的,我看到了你更新的问题,但我认为你做的太多了。尝试一次只运行一个项目,并删除所有与该项目不关联的.htaccess声明。也许先让302重定向开始工作
RewriteRule  ^(.*)$ http://www.domain.com/$1 [R=301,L]