【问题标题】:use subdomain to access codeigniter's modules使用子域访问 codeigniter 的模块
【发布时间】:2012-08-10 04:48:49
【问题描述】:

我有一个基于 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>

【问题讨论】:

    标签: php .htaccess codeigniter


    【解决方案1】:

    如果您使用某种托管服务来创建子域并将其指向文档根目录,您可以尝试创建一个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]
    

    【讨论】:

    • 现在我所有的 *.exmaple.com 都将转到 exmaple.com 但你提到的关于 .htaccess 的点不起作用,我将在主 Q 中添加当前的 .htaccess 文件给你跨度>
    • @Yahia 您是否在路由规则之前添加了它? (index.php 的东西)
    • 之后和之前,结果相同,当我尝试时:api.example.com/searchByCat/lat/30.55962015/lng,我得到页面未找到 404
    • 我没有用真实的站点替换 mysite ,但是现在替换后我得到错误 500 Internal Server Error ,alos only api.exanple.com error 500
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多