Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
子目录中的Azure和CakePHP 3 我的第一个问题是,我无法使CakePHP 3在Azure中的hosten子目录中正常工作(因此我必须使用web.config来重写规则) 我想配置我的顶级web.config,以便在根目录下有其他php文件,并且在这些文件上有一些重写规则_Php_Azure_Web Config_Azure Web App Service_Cakephp 3.x - Fatal编程技术网

子目录中的Azure和CakePHP 3 我的第一个问题是,我无法使CakePHP 3在Azure中的hosten子目录中正常工作(因此我必须使用web.config来重写规则) 我想配置我的顶级web.config,以便在根目录下有其他php文件,并且在这些文件上有一些重写规则

子目录中的Azure和CakePHP 3 我的第一个问题是,我无法使CakePHP 3在Azure中的hosten子目录中正常工作(因此我必须使用web.config来重写规则) 我想配置我的顶级web.config,以便在根目录下有其他php文件,并且在这些文件上有一些重写规则,php,azure,web-config,azure-web-app-service,cakephp-3.x,Php,Azure,Web Config,Azure Web App Service,Cakephp 3.x,我试图实现的结构: -file1.php -file2.php -folder/file3.php -index.php -/包含cakePHP 3的仪表板/目录 例如,我的域名是 我需要在我写的时候做任何和cakePHP相关的事情。如果我写入,我将导航到“用户”控制器中的模板视图“列表”。 我在/dashboard之前写的任何东西我都不会把PHP当作控制器或类似的东西 当前情况 如果我转到正确加载的页面,请立即写入,但因为我正在加载文件中的资源,如: <link href="/webro

我试图实现的结构:

-file1.php

-file2.php

-folder/file3.php

-index.php

-/包含cakePHP 3的仪表板/目录

例如,我的域名是

我需要在我写的时候做任何和cakePHP相关的事情。如果我写入,我将导航到“用户”控制器中的模板视图“列表”。 我在/dashboard之前写的任何东西我都不会把PHP当作控制器或类似的东西

当前情况

如果我转到正确加载的页面,请立即写入,但因为我正在加载文件中的资源,如:

<link href="/webroot/backend/pages.css" rel="stylesheet" type="text/css"> 

资源正在尝试从加载,但未加载

<强>解决方案,我发现我不认为好< /强>

有定义

<?php 
use Cake\Routing\Router;
$path = Router::url('/', true); 
?>

并在资源声明前使用$path。这意味着我必须更改我的所有项目以包含此$path


任何关于重写规则的帮助或Azure子目录中托管cakePHP 3的任何其他人?

您可以将
web.config
文件添加到Azure网站的根目录中,默认情况下该文件为:
D:\home\site\wwwroot
。并添加重写配置设置,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Rewrite to dashboard" stopProcessing="true">
                    <match url="^webroot/backend/(.*)$" />
                    <action type="Rewrite" url="dashboard/webroot/backend/{R:1}"
                      appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
将重定向到:

https://mydomain.azurewebsites.net/dashboard/webroot/backend/pages.css

谢谢,这回答了问题的一部分。这可以解决资源问题,但不能解决cakePHP位于子目录中的问题。在域旁边写的任何东西都被认为是CAKEPHP的一个控制器,它在根目录中定义了一个不同的网站。我正在寻找web.config配置的完整解决方案。您可能还需要将其放入
/dashboard
目录。
https://mydomain.azurewebsites.net/dashboard/webroot/backend/pages.css