Linux 非常困难。htaccess->;用于CakePHP的nginx重写转换&x2B;前端控制器

Linux 非常困难。htaccess->;用于CakePHP的nginx重写转换&x2B;前端控制器,linux,.htaccess,mod-rewrite,nginx,Linux,.htaccess,Mod Rewrite,Nginx,使用Apache,以下.htaccess文件被放置在CakePHP应用程序的根文件夹-/digital/-中 [注意:在这个目录的上方,在真正的根目录下,有一个非蛋糕式的PHP应用程序,具有不同的.htaccess配置文件。] RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite\.com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/digital/$1 [R=301,L] Rewrit

使用Apache,以下.htaccess文件被放置在CakePHP应用程序的根文件夹-/digital/-中

[注意:在这个目录的上方,在真正的根目录下,有一个非蛋糕式的PHP应用程序,具有不同的.htaccess配置文件。]

RewriteEngine On

RewriteCond %{HTTP_HOST} ^mywebsite\.com [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/digital/$1 [R=301,L]

RewriteBase /digital
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
此文件在/digital/之后将每个请求URI作为GET变量(即“?url=x”)转发回前端控制器

例如,导航到:

“www.mywebsite.com/digital/admin/login/”

成为:

“www.mywebsite.com/digital/index.php?url=/digital/admin/login/”

我所做的每一次尝试都会导致重定向循环或失败

如何在nginx中实现此功能?尤其是不创建单独的虚拟主机

编辑-我的配置:

  location /digital/ {
  try_files   $uri $uri/ index.php?url=$uri&$args;
  }

显示您的配置。具体是哪一部分?我已使用相关块进行了编辑。谢谢我冒险猜测一下
try_文件$uri$uri//digital/index.php?url=$uri&$args-该示例的绝对路径前缀为位置块中的文件夹。