Перепишите все, что будет после index.php / - PullRequest
1 голос
/ 06 июля 2011

Я настраиваю php mvc framework и хочу перенаправить что-нибудь после домена в index.php / $ 1, но это не работает.У меня включен rewrite_module и AllowOverride All, что-то еще мне не хватает?

По сути, я хочу, чтобы URL перешел с этого http://www.example.com/foo/bar на http://www.example.com/index.php/foo/bar, чтобы я мог получить его из $ _SERVER ['PATH_INFO']

Вот что у меня есть ...

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]

httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot c:/wamp/www
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/websites/snugglemvc"
    ServerName www.snugglemvc.com
    <Directory "c:/websites/snugglemvc">
        Order Deny,Allow
        Allow from all
        AllowOverride all
    </Directory>
</VirtualHost>

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Полагаю, вам нужен начальный слеш на /index.php, поскольку ваше регулярное выражение соответствует началу строки.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/$1 [L]
0 голосов
/ 14 июля 2011

это была проблема с моим файлом httpd.conf. у меня не было AllowOverride все на локальном хосте. однажды я изменил, что все работает.

...