我正在使用Yii2高级模板following this guide实施RESTful服务。但是,我最终获得了REST服务的以下结构:
http://localhost/MyProject/api/web/v1/user/1
应该如此
http://localhost/MyProject/api/v1/user/1
。
如何从网址路径中删除/web/
?
答案 0 :(得分:1)
如果你在.htaccess中使用apache
my_str
答案 1 :(得分:0)
如果您要在自己的服务器上托管它,只需创建一个指向api/web
的虚拟主机,您就可以对其进行排序。
这是一个样本
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName api.websiteurl.com
DocumentRoot /var/www/html/app/api/web
</VirtualHost>
有了这个,我可以从api.websiteurl.com
访问我的api
如果您想从websiteurl.com
访问api,那么只需将服务器的文档根目录设置为指向api/web
答案 2 :(得分:0)
You add below code in web.php file...
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
],
],
And Then add one file .htaccess file in web folder..
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
答案 3 :(得分:0)
我实际上喜欢使用Kartik的Practical App或Practical-A App。它们基于yii2-advanced模板,但有一些变化,比如摆脱/ web目录