Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
Php 路线';s子目录的基本路径_Php_Apache_Slim_Slim 3_Fastroute - Fatal编程技术网

Php 路线';s子目录的基本路径

Php 路线';s子目录的基本路径,php,apache,slim,slim-3,fastroute,Php,Apache,Slim,Slim 3,Fastroute,我的结构如下: /home/ alvaro/ public_html/ Code Playground/ SlimTest/ logs/ public/ src/ templates/ vendor/

我的结构如下:

/home/
    alvaro/
         public_html/
             Code Playground/
                 SlimTest/
                     logs/
                     public/
                     src/
                     templates/
                     vendor/
                     ...
http://example.com
指向
/home/alvaro/public\u html
,因此
http://example.com/Code 操场/SlimTest
指向
/home/alvaro/public\u html/code操场/SlimTest
,我将此
放置在目录中。htaccess
文件:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>
。。。但是我总是得到Slim的
NotFound
类提供的404未找到页面

  • 是否有一种方法可以根据路由定义获取基本路径,以便我可以在
    get()
    中预先编写它

  • 如果不是,硬编码路径会是什么样子

  • 我是否应该在Apache中寻找修复程序,例如


  • 这是因为Slim不知道它是从子目录运行的。我本以为后一种方法会奏效,但可惜的是。您是否尝试过这些建议:?@SketchyCoder在使用GitHub票证中的信息并调试了
    \Slim\Http\Uri::createFromEnvironment()
    之后,我强烈怀疑该功能是内置的,在当前版本中应该可以开箱即用,但由于存在错误,它对我不起作用。Slim将
    REQUEST\u URI
    (URL编码)与
    SCRIPT\u NAME
    (未编码)进行比较,我的实际目录名有一个空格(
    %20
    !=`)。对不起,当我为了简洁而修改名字的时候,我从没想过空格会有什么关系。不用担心!你设法解决了吗?@SketchyCoder我发现了一些难看的解决方法(主要是在这里和那里添加
    %20
    ),但这是针对个人的,所以我会在有时间时尝试找到一个合适的解决方法。同时,我编辑了这个问题来修正修改过的名字。我正式放弃了。每一种解决方法都会修复一件事,破坏另一件事。我将只创建单独的站点或使用PHPWeb服务器。这是因为Slim不知道它是从子目录运行的。我本以为后一种方法会奏效,但可惜的是。您是否尝试过这些建议:?@SketchyCoder在使用GitHub票证中的信息并调试了
    \Slim\Http\Uri::createFromEnvironment()
    之后,我强烈怀疑该功能是内置的,在当前版本中应该可以开箱即用,但由于存在错误,它对我不起作用。Slim将
    REQUEST\u URI
    (URL编码)与
    SCRIPT\u NAME
    (未编码)进行比较,我的实际目录名有一个空格(
    %20
    !=`)。对不起,当我为了简洁而修改名字的时候,我从没想过空格会有什么关系。不用担心!你设法解决了吗?@SketchyCoder我发现了一些难看的解决方法(主要是在这里和那里添加
    %20
    ),但这是针对个人的,所以我会在有时间时尝试找到一个合适的解决方法。同时,我编辑了这个问题来修正修改过的名字。我正式放弃了。每一种解决方法都会修复一件事,破坏另一件事。我将创建单独的站点或使用PHPWeb服务器。
    $app->get('/Code Playground/SlimTest', …);
    $app->get('/Code Playground/SlimTest/', …);
    $app->get('/Code Playground/SlimTest/public', …);
    $app->get('/', …);
    // …