【问题标题】:Why does the Restler3 'vendor' folder need to be on site root?为什么 Restler3 'vendor' 文件夹需要位于站点根目录中?
【发布时间】:2013-10-28 20:32:51
【问题描述】:

几天前我下载了 Restler3,在修改它时,我认为将“供应商”文件夹移到站点根目录之外是个好主意。 起初一切似乎都很好,但后来我注意到例如 /math/sum/* 示例不再起作用(如下所示:http://restler3.luracast.com/examples/_002_minimal/readme.html

好的,所以我没有将它移到根文件夹之外,而是将它移到了一个子文件夹中,奇怪的是,结果相同。类似于 api.domain.com/math/sum/1/2/3/4 的 URL 采用可变数量的参数,停止工作,直到我将“供应商”文件夹放回站点根目录。

现在这对你们中的一些人来说可能很明显,但对我来说却不是。我总是编写从不依赖于它相对于其他东西的位置的代码,以防止不兼容。 Restler 的代码看起来足够可靠,所以我无法想象他们没有做同样的事情。

可能是我的服务器上有什么东西吗?可能与建议的.htaccess有关吗? (我一直讨厌那些,因为我并不完全理解它们)

.htaccess 看起来像这样:

DirectoryIndex index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ index.php [QSA,L]
    RewriteCond %ˆ{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

有人可以为我解释一下吗,即启发我?我就是想不通。

【问题讨论】:

    标签: php .htaccess restler


    【解决方案1】:

    vendor 文件夹不需要也不应该在可公开访问的地方。

    当你移动 vendor 文件夹时,确保你移动 composer.json 并运行

    composer dump-autoload
    

    确保 autoload.php 是最新的

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2012-10-15
      相关资源
      最近更新 更多