1

PHP MVC フレームワークをセットアップしていて、ドメインの後に何かを index.php/$1 にリダイレクトしたいのですが、うまくいきません。rewrite_module を有効にし、AllowOverride All を使用していますが、他に不足しているものはありますか?

基本的に、URLをここからに移動しhttp://www.example.com/foo/barhttp://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>
4

2 に答える 2

1

正規表現が行頭と一致するため、 /index.php の先頭にスラッシュが必要だと思います。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2011-07-05T23:32:17.153 に答える
0

これは私の httpd.conf ファイルの問題でした。私はローカルホストにすべてAllowOverrideを持っていませんでした。すべてが機能することを変更したら。

于 2011-07-14T00:45:25.453 に答える