Php htaccess重定向在codeigniter中不工作

Php htaccess重定向在codeigniter中不工作,php,.htaccess,codeigniter,url-rewriting,Php,.htaccess,Codeigniter,Url Rewriting,我的.htaccess代码如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /annsenglishmediumschool RewriteCond %{HTTP_HOST} ^(.+?)\.annsenglishmediumschool\.com$ RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L] &l

我的
.htaccess
代码如下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /annsenglishmediumschool
    RewriteCond %{HTTP_HOST} ^(.+?)\.annsenglishmediumschool\.com$
    RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L]
</IfModule>

这有什么问题吗?

只需添加一个检查,确保它不是以
www

RewriteCond %{REQUEST_URI} ^(.+?)\.annsenglishmediumschool\.com$
RewriteCond %{REQUEST_URI} !^www
RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L]

我想它被当作是另一个网站,因为当我输入'shops.annsenglishmediumschool.com'时,它给了我这个错误:“对不起,找不到shops.annsenglishmediumschool.com网站”你设置了子域吗?在cpanel或google上搜索“设置子域”。另外,是否需要在cpanel中手动设置子域?不使用.htaccess(当以“subdomain.domain.com”的形式输入站点时)?我在codeigniter中,所以我不知道它在cpanel.htaccess中设置子域时如何有效地与apache(Web服务器)一起工作——它与codeigniter无关(尽管可以同时使用两者)。如果将htaccess设置为重定向或指向子域,则该子域必须存在于Web服务器上才能正常工作。通过Web服务器/Web主机设置子域;在你的情况下,你可以使用cpanel:对。您需要在域的DNS配置中添加一个条目。可以使用CNAME或*.domain.com将所有内容指向服务器。然后htaccess将它指向shops控制器。
RewriteCond %{REQUEST_URI} ^(.+?)\.annsenglishmediumschool\.com$
RewriteCond %{REQUEST_URI} !^www
RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L]