重定向到子目录,并始终在Slim php中找不到404
我想制作两个slim应用程序,一个用于api调用,另一个用于网站用户。重定向到子目录,并始终在Slim php中找不到404,php,.htaccess,mod-rewrite,redirect,slim,Php,.htaccess,Mod Rewrite,Redirect,Slim,我想制作两个slim应用程序,一个用于api调用,另一个用于网站用户。 我将我的主php文件放入'src'目录,结构如下: / ---.htaccess ---/src(here are files) -----.htaccess -----index.php(Slim) -----/Controllers -----/Views -----/Models -----/api -------.htaccess -------index.php(Slim)
我将我的主php文件放入'src'目录,结构如下:
/
---.htaccess
---/src(here are files)
-----.htaccess
-----index.php(Slim)
-----/Controllers
-----/Views
-----/Models
-----/api
-------.htaccess
-------index.php(Slim)
---/public
-----/js
-----/css
-----/fonts
我想从以下内容创建我的url:http://localhost/project/src/api/foo
到
http://locahost/project/api/foo
我不知道如何编写第一个.htaccess
(root)
我尝试重定向到subdir,如下所示:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^src/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ src/ [QSA,L]
但它总是返回Slim未找到的404。我想它确实重定向到了subdir,但是slim路由器不会得到正确的url,对吗
还有一些是这样的:(我只是从SlimFramework复制文档)
任何想法都会对我有很大帮助!谢谢大家! 在您的
/project/.htaccess
中尝试此规则:
RewriteEngine On
RewriteBase /project/
RewriteCond !/src/ [NC]
RewriteRule ^(.*)$ src/$1 [L]
确保这是您的第一条规则。仍然不起作用…url将像这样重定向
src/index.php/project/hello/
,我认为slim只接受这样的src/index.php/hello/
查看更新的代码确保它位于/project/.htaccess
而不是DocumentRoot
是,我将其放入/project/并在浏览器中键入,slim仍然显示404未找到。尝试使用R
标记进行测试:RewriteRule^(.*)$src/$1[L,R]
它仍然不工作。我放弃!最后我使用了虚拟主机
。
RewriteEngine On
RewriteBase /project/
RewriteCond !/src/ [NC]
RewriteRule ^(.*)$ src/$1 [L]