我是新手,我遇到以下代码问题:
<?php
require_once 'vendor/autoload.php';
require_once 'lib/controller/Root.php';
require_once 'lib/controller/General.php';
$app = new \Slim\Slim(array(
'debug' => true,
));
$root_controller = new Root();
$general_controller = new General();
$app->map('/', function() use ($app, $root_controller) {
$root_controller->index();
})->via('GET', 'POST');
$app->map('/vorstand', function() use ($app, $general_controller) {
$general_controller->vorstand();
})->via('GET', 'POST');
$app->map('/satzung', function() use ($app, $general_controller) {
$general_controller->satzung();
})->via('GET', 'POST');
$app->run();
?>
我使用的是瘦框架,每当我得到&#34;未找到&#34;我就无法调用路径localhost / vorstand或localhost / satzung。我没有解释:/只有localhost,这意味着路线&#34; /&#34;的工作原理。
答案 0 :(得分:0)
对于Apache服务器,需要检查两件事。
1.目录中的.htaccess文件(与index.php相同的目录)包含:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
2.您还需要一个目录指令来启用.htaccess文件并允许使用RewriteEngine指令。这有时在httpd.conf文件中全局完成,但通常最好将指令限制在虚拟主机中,方法是将其封装在VirtualHost配置块中。这通常在您的配置中以以下形式设置:
<VirtualHost *:80>
ServerAdmin me@mysite.com
DocumentRoot "/path/www.mysite.com/public_html"
ServerName mysite.com
ServerAlias www.mysite.com
#ErrorLog "logs/mysite.com-error.log"
#CustomLog "logs/mysite.com-access.log" combined
<Directory "/path/www.mysite.com/public_html">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
将AllowOverride All
添加到您的DocumentRoot目录。