0

我有一个基于 codeigniter 的销售脚本,效果很好

我为它构建了一个 api,并通过以下方式使用它:http://www.mysite/api/getdata

所以我现在想通过子域访问这个 api,比如: http://www.api.mysite/getdata

因为我认为解决方案是:将所有 *.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>
4

1 回答 1

0

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

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

RewriteEngine On
RewriteCond %{HTTP_HOST} (www\.)?api.mysite [NC]
RewriteCond %{REQUEST_URI} !^/api/
RewriteRule ^(.*)$ /api/$1 [L]
于 2012-08-10T04:55:41.240 回答