首页 文章

在现有的apache Web服务器上运行slim框架

提问于
浏览
0

我是苗条框架的新手 . 目前在我现有的网络服务器上,这是在centos 7我运行其他基于PHP的应用程序 . 所以目前我的目录结构是这样的 .

var/www/html
    phpapp1
    phpapp2
    apislim

我创建的apislim的文件夹是用于超薄框架 . 以下是我所做的确切步骤1.作曲家创作项目苗条/苗条骨架
2.我将slim-skeleton文件夹重命名为apislim 3.我确保所有者是apache chown -R apache:apache apislim 4.在httpd.conf中我确保启用此AllowOverride为All

<Directory "/var/www">
    AllowOverride All
    # Allow open access:
    Require all granted
    Options -Indexes
</Directory>

下面我启用了全部

<Directory "/var/www/html">   
    Options -Indexes -FollowSymLinks
    AllowOverride All
</Directory>
  • 在apislim / public文件夹中,我有这个.htaccess文件,如下所示 .

RewriteEngine On

RewriteCond% :: $ 1 ^(/ . )/( . ):: \ 2 $ RewriteRule ^( . ) - [E = BASE:%1]

RewriteCond%!-f RewriteRule ^( . *)$%{ENV:BASE} index.php [QSA,L]

  • 我还有公共文件夹中的index.php文件,它也链接到路由的src和主文件夹apislim我创建了另一个.htaccess文件并添加了它 .

RewriteRule上的RewriteEngine ^ $ public / [L] RewriteRule( . *)public / $ 1 [L]

现在问题我希望我现有的应用程序与基于slim框架的rest api一起工作 . 所以当我去这个链接

http://*.*.*.*/apislim/
http://*.*.*.*/apislim/public/
http://*.*.*.*/apislim/public/index.php

这两件作品都没有给我403禁止 . 然后我检查错误日志它显示关于FollowSymLinks的错误所以我添加了选项-Indexes FollowSymLinks Into

所以我现在得到的下一个错误是500间隔服务器错误 .

1 回答

  • 1

    Slim应用程序必须执行以下步骤才能在子目录中工作 .

    目录结构:

    • public/ Web服务器文件(DocumentRoot

    • .htaccess 前端控制器的Apache重定向规则

    • index.php 前控制器

    • .htaccess 内部重定向到public /目录

    文件内容: .htaccess

    RewriteEngine on
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
    

    文件内容: public/.htaccess

    # Redirect to front controller
    RewriteEngine On
    # RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
    

    将此容器条目添加到文件中: dependencies.php

    // Activating routes in a subfolder
    $container['environment'] = function () {
        $scriptName = $_SERVER['SCRIPT_NAME'];
        $_SERVER['SCRIPT_NAME'] = dirname(dirname($scriptName)) . '/' . basename($scriptName);
        return new Slim\Http\Environment($_SERVER);
    };
    

相关问题