Настроить .htaccess для работы с PHP Framework (Silex)

У меня есть рабочий путь на моем Apache2 localhost (linux):

http://localhost/lab/silex/web/index.php/hello/name 

Я хочу стать:

 http://localhost/lab/silex/hello/name 

Теперь у меня включен режим Rewrite и его тестирование.

Я поместил мой файл .htaccess в свою папку silex / web:

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

Я все еще не вижу, как работает чистый URL.

в вашей основной папке попробуйте это: (для вас это будет папка silex)

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/$1 [QSA,L] </IfModule> 

и в веб-папке:

 <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /web/ RewriteRule ^(.*)$ /$1 [L,R=301] </IfModule> 

Попробуйте этот код в файле DOCUMENT_ROOT/.htaccess :

 Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_URI} !/lab/silex/web/index\.php/ [NC] RewriteRule ^(.*)$ /lab/silex/web/index.php/$1 [L] 

Я нашел код, который работает, но все же только для / silex / web / hello / name. Я хочу заставить его работать для / silex / hello / name

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