php - Silex微框架: Run from a subfolder

标签 php apache .htaccess silex

我下载 Silex 是因为我想在下一个项目中尝试它。我在 Windows 8.1 64x 下使用 mamp ,我认为这并不重要,但无论如何,我将 Silex 放入 C:\mamp\htdocs\projectfolder\(http://locahost/projectfolder/)

这意味着我得到了 http://locahost/projectfolder/vendorhttp://locahost/projectfolder/web/

我在“web”目录下编写了这个.htaccess

选项-多 View

RewriteEngine On
RewriteBase /projectfolder/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

如果我进入http://locahost/projectfolder/web/hello,它就完美了,但我想来自/projectfolder/,所以我在/projectfolder中创建了一个新的htaccess文件此内容:

选项-多 View

RewriteEngine On
#RewriteBase /projectfolder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web/index.php [L]

但是当我运行它时,应用程序返回 NotFoundException:抱歉,找不到您正在查找的页面。

提前致谢

最佳答案

我也是 silex 的新手,所以如果有人有更好的见解,请告诉/教导我们:)

我决定在与 silex 不同的文件夹中创建一个项目,我所做的是,我创建了一个新的 index.php,需要 silex 的 autoload.php 和一个基本相同的新 .htaccess。

所以,我有这样的结构:

/myproject/silex/
/myproject/app/
/myproject/app/index.php
/myproject/app/.htaccess

我的.htaccess

<IfModule mod_rewrite.c>
    Options -MultiViews

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
</IfModule>

和我的index.php

<?php
require_once __DIR__.'/../silex/vendor/autoload.php';
...

顺便说一句,我配置了一个虚拟主机来指向/myproject/app/

希望这有帮助。

关于php - Silex微框架: Run from a subfolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146403/

相关文章:

PHP PDO 强制 SQL99

node.js - 在 apache 服务器中运行 NodeJS

apache - 重定向不适用于 htaccess 中的 mod_rewrite

php - htaccess(不是index.php)

php - WordPress 博客文章重定向(1000 篇文章)

php - 内部连接 ​​2 个具有相同列名的表

php - PHP DateTime 的日期属性问题

php - CURL: SSL 证书失败,验证 CA 证书是否正常

php - HHVM/FastCGI/Proxy 安装毁了我的 apache?

apache - 使用否定条件重写条件