【发布时间】:2016-08-15 08:03:21
【问题描述】:
在我运行Apache/2.2.26 (Unix) DAV/2 PHP/5.4.24 mod_ssl/2.2.26 OpenSSL/0.9.8y 的网络服务器上,我正在尝试设置Restler,但它似乎无法正确处理index.php。这是一个带有 httpd.conf 的 webapp 设置,如下所示:
Alias "/dts2" "/usr/local/WebApps/DTS/root"
<Directory "/usr/local/WebApps/DTS/root">
AllowOverride All
Options -Indexes FollowSymLinks
</Directory>
然后我进入那个“根”目录并运行这个命令来安装restler:
composer create-project restler/application=dev-basic api --prefer-dist
之后,在“api”目录中,我创建了如下所示的 .htaccess 文件:
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ public/index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php [QSA,L]
</IfModule>
<IfModule mod_php5.c>
php_flag display_errors On
</IfModule>
最后,当我尝试访问“https://..../dts2/api/Home/”以获取 restler 提供的成功消息时,我收到 404 错误。
我做错了什么?
【问题讨论】:
-
这似乎与 Apache 相关,而不是 Restler。我建议更改标签。
-
我不完全确定是这样。如果我查看重写规则和 404 上显示的路径,它是 index.php 的 URL,所以我认为 Restler 尝试加载的内容是真正返回 404 的内容。