htaccess URL重写几乎正常工作

时间:2014-07-21 14:22:01

标签: php apache .htaccess mod-rewrite

这是我的问题:

我正在开发一个Silex项目,并且无法解决.htaccess已解决的问题。


我的文件夹结构:

incidents_root/
|
|- app/
|- src/
|- vendor/
|- web/
   |
   |- index.php
   |- .htaccess

我的.htaccess文件的内容:

<IfModule mod_rewrite.c>
    Options -MultiViews

    RewriteEngine On
    #RewriteBase /incidents_root/web/

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^ index.php [QSA,L]

</IfModule>

定义路线:

$app->get('/', 'register.controller:registerAction')
    ->bind('register');

$app->get('/register', 'register.controller:registerAction')
    ->bind('registerFull');

$app->get('/update', 'update.controller:updateAction')
    ->bind('update');

当我在我的本地Apache上时,通过http://127.0.0.1/incidents_root/web/访问项目非常好,所有三条路线都运行良好。

但是当我将其上传到服务器时,只有/路由有效。如果斜线后有任何东西,则不起作用。我通过http://hostname.com/incidents_test/new_test/web在服务器上访问它。我确实将RewriteBase更改为/incidents_test/new_test/web/

我已经做了以下事情:

  • 检查.htaccess是否已加载 - 它是
  • 尝试了我在Google上找到的Silex的.htaccess的不同版本 - 没有任何改变
  • 尝试自己编写重写规则无济于事。我通常自己管理这个。

这可能是服务器配置问题,但我不确定要检查什么。如果这还不够,我很乐意提供您需要的任何信息。

0 个答案:

没有答案