【发布时间】:2017-06-27 15:21:40
【问题描述】:
- 我的第一个问题是我无法让 CakePHP 3 在 Azure 中的托管子目录中正常工作(因此我必须使用 web.config 来设置重写规则)
- 我想配置我的顶级 web.config 以便在根目录下拥有其他 php 文件并对其进行一些重写规则。
我想要实现的结构:
-file1.php
-file2.php
-文件夹/file3.php
-index.php
-/dashboard/ 包含 cakePHP 3 的目录
例如我的域名是https://mydomain.azurewebsites.net
当我写https://mydomain.azurewebsites.net/dashboard 时,我需要做任何与 cakePHP 相关的事情。如果我写 https://mydomain.azurewebsites.net/dashboard/users/list 我正在导航到“用户”控制器中的模板视图“列表”。 我在 /dashboard 之前写的任何其他内容我都不会将 cakePHP 视为控制器或类似内容。
现状
现在写如果我去https://mydomain.azurewebsites.net/dashboard/users/list页面加载正确但是因为我正在加载文件中的资源,例如:
<link href="/webroot/backend/pages.css" rel="stylesheet" type="text/css">
资源正在尝试从https://mydomain.azurewebsites.net/webroot/backend/pages.css 加载,但没有 https://mydomain.azurewebsites.net/dashboard/webroot/backend/pages.css
我发现我认为不好的解决方案
有定义
<?php
use Cake\Routing\Router;
$path = Router::url('/', true);
?>
并在资源声明前使用 $path。这意味着我必须更改我的所有项目以包含此 $path。
任何帮助重写规则或任何其他人谁在 Azure 的子目录中托管 cakePHP 3?
【问题讨论】:
标签: php azure web-config azure-web-app-service cakephp-3.x