Apache 如何将/api/*请求重定向到另一个文件?
我一直在为我的API服务器使用Laravel,但是它需要很多资源来完成小任务,我们希望在不同的框架中编写API。除非出于可伸缩性的目的完全分离我们的API,否则我是否可以临时将所有Apache 如何将/api/*请求重定向到另一个文件?,apache,.htaccess,mod-rewrite,laravel,Apache,.htaccess,Mod Rewrite,Laravel,我一直在为我的API服务器使用Laravel,但是它需要很多资源来完成小任务,我们希望在不同的框架中编写API。除非出于可伸缩性的目的完全分离我们的API,否则我是否可以临时将所有/API/*请求重定向到API.php 这是我们的文件夹结构: app vendor public index.php .htaccess api.php 这是我们的.htaccess <IfModule mod_rewrite.c> <IfModule mod_n
/API/*
请求重定向到API.php
这是我们的文件夹结构:
app
vendor
public
index.php
.htaccess
api.php
这是我们的.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Excludes existing directories and files
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# Handle Front Controller...
RewriteRule ^ index.php [L]
</IfModule>
选项-多视图
重新启动发动机
#重定向尾部斜杠。。。
重写规则^(.*)/$/$1[L,R=301]
#排除现有目录和文件
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
#处理前控制器。。。
重写规则^index.php[L]
就在R=301
规则的下方您可以添加此规则:
RewriteRule ^api/ api.php [L,NC]
作为未来的注意事项,Laravel 5将具有路由缓存功能,这将有助于加快请求:问题不在于路由缓存,而在于Laravel的速度非常慢。今天我用Klein重写了我的API,每个请求只需要3-10毫秒。仅在启动期间,Laravel就需要70毫秒的时间和大约5MB的资源。无论如何,
route:cache
是一个非常无意义的解决方案。我可以在Laravel前面涂上清漆,为那些“静态”页面提供服务,它甚至不会加载Laravel。无论如何,谢谢你提供的信息。