抱歉,找不到您要查找的页面。 silex错误

时间:2014-03-27 20:17:44

标签: php .htaccess silex

我的.htaccess:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /silex/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>

的index.php:

<?php
ini_set('display_errors', 1);
require_once __DIR__.'../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/hello/{name}', function ($name) use ($app) {
return 'Hello '.$app->escape($name);
});

$app->run();

访问localhost / silex / hello / world时出现此错误:

&#34;抱歉,找不到您要查找的页面。&#34;

为什么?

5 个答案:

答案 0 :(得分:1)

.htaccess

中试试这个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /silex/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA,L]
</IfModule>

文件的位置应为:

/silex/.htaccess
/silex/web/index.php

答案 1 :(得分:1)

这是silex完整路径

/var/www/html/silex

&#34; htaccess的&#34;文件

/var/www/html/silex/.htaccess

<IfModule mod_rewrite.c>
Options -MultiViews

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

&#34;的index.php&#34;文件

/var/www/html/silex/web/index.php

require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/', function () {
    return 'Index Page';
});
$app->get('/hello', function () {
    return 'Hello Page';
});
$app->run();

答案 2 :(得分:1)

.htaccess应该是

<IfModule mod_rewrite.c>
Options -MultiViews

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

VirtualHost文件必须如下所示

<VirtualHost *:80>
ServerName site.com
ServerAlias www.site.com
DocumentRoot /var/www/html/silex/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

而且永恒的作品就像魅力一样! ; - )

“。htaccess”位于 / var / www / html / silex /

和Silex应用程序包

放在 / var / www / html / silex / web /

答案 3 :(得分:0)

您可以尝试添加:

RewriteCond %{REQUEST_FILENAME} !-d.

它对我有用。

答案 4 :(得分:0)

这可能有效:

<IfModule mod_rewrite.c> 
      Options -MultiViews 
      RewriteEngine On 
      RewriteBase /silex/web 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteRule ^ index.php [QSA,L] 
</IfModule>