Php 使用子域访问codeigniter';s模块

Php 使用子域访问codeigniter';s模块,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我有一个基于codeigniter的销售脚本,它工作得很好 我为它构建了一个api,并通过以下方式使用它: 现在我想通过子域访问此api,如: 我认为解决方案是:将所有*.mysite.com重定向到mysite.com,然后修改.htaccess,但我不知道这是真的吗 ---------------------------------------更新------------------------------------------ 我当前的.htaccess文件 <IfModule m

我有一个基于codeigniter的销售脚本,它工作得很好

我为它构建了一个api,并通过以下方式使用它:

现在我想通过子域访问此api,如:

我认为解决方案是:将所有*.mysite.com重定向到mysite.com,然后修改.htaccess,但我不知道这是真的吗

---------------------------------------更新------------------------------------------

我当前的.htaccess文件

<IfModule mod_rewrite.c>
# Check if mod_rewrite module loaded and we can work with SEO urls
SetEnv HTTP_MOD_REWRITE On

RewriteEngine on

# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^yoursite\.com$ [NC]
# RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
#RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^(.*)$ ./index.php [L] 

</IfModule>

#检查mod_rewrite模块是否已加载,我们可以使用SEO URL
SetEnv HTTP_MOD_重写
重新启动发动机
#要重定向所有用户以访问带有“www.”前缀的网站,
# (http://example.com/... 将被重定向到http://www.example.com/...)
#调整和取消注释以下内容:
#RewriteCond%{HTTP_HOST}^yoursite\.com$[NC]
#重写规则^(.*)$http://www.yoursite.com/$1[L,R=301]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_URI}=/图标文件
#重写规则^(.*)$index.php/$1[L]
重写规则^(.*)$./index.php[L]

如果您使用的托管服务允许您创建子域并将其指向文档根目录,您可以尝试创建
www.api.mysite
域,并将文档根目录设置为mysite的/api目录所在的位置。这样就不需要使用htaccess文件了。或者,如果您有权访问虚拟主机配置,也可以执行相同的操作,为
www.api.mysite
创建vhost,并将文档根指向/api目录

如果您无法控制这些内容,则需要将*.mysite.com设置为指向www.mysite的同一站点,并使用htaccess文件。在文档根目录中的htaccess文件中类似这样的内容应该可以实现以下目的:

RewriteEngine On
RewriteCond %{HTTP_HOST} (www\.)?api.mysite [NC]
RewriteCond %{REQUEST_URI} !^/api/
RewriteRule ^(.*)$ /api/$1 [L]

现在,我所有的*.exmaple.com都将转到exmaple.com,但是你提到的.htaccess不起作用,我将在主目录中向你添加当前的.htaccess文件Q@Yahia您是否将其添加到路由规则之前?(index.php的东西)在之前和之后,同样的结果,当我尝试:,我得到了页面未找到404我没有用真实的替换mysite,但是在替换之后我得到了错误500内部服务器错误,alos仅错误500