如何从别名域中访问codeigniter API?

gopyfrb3  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(108)

我有一个在www.mysiteone.com/project中的condeigniter 3中构建的REST API项目,它工作得很好。现在,我的另一个域是www.mysitetwo.com/project,它被配置为命中第一个url。例如,如果我浏览www.mysitetwo.com/project/license.txt,它会显示www.mysiteone.com/project/license.txt中的文件,但问题是当我试图访问任何API时。就像www.mysiteone.com/project/apiendpoint返回数据,但当我点击www.mysitetwo.com/project/apiendpoint时,它显示以下错误:

<html>

<head>
    <title>404 Not Found</title>
</head>

<body>
    <h1>Not Found</h1>
    <p>The requested URL /srv/www/mysiteone.com/www/project/index.php/apiendpoint was not found on this server.
    </p>
</body>

</html>

下面是项目文件夹中的.htaccess文件

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

在config.php中

$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

我应该在哪里进行更改才能使其正常工作?

cwxwcias

cwxwcias1#

需要更换

RewriteRule ^(.*)$ index.php/$1 [L]

RewriteRule ^(.*)$ /project/index.php/$1 [L]
hs1rzwqc

hs1rzwqc2#

以下将更有效地处理未来可能出现的情况。

RewriteEngine on
RewriteCond "%{HTTP_HOST}"    "!^www\.mysitetwo\.com" [NC]
RewriteCond "%{HTTP_HOST}"    "!^$"
RewriteRule "^/?(.*)"         "http://www.mysiteone.com/$1" [L,R,NE]

相关问题