我正在設置一個php mvc框架,我想將域後的任何內容重定向到index.php/$ 1,但它不起作用。我有rewrite_module啓用和AllowOverride全部,有什麼我失蹤?將所有內容重寫爲index.php/
基本上我想要的網址從這個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的虛擬主機.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>
感謝您的回覆馬克,試過已經 – bflemi3
@bflemi規則是好的,工作很好。如果它不適合你,那麼你會得到什麼,一個錯誤?嘗試暫時放置'[R = 302,L]'來查看規則是否實際工作(發生重定向)。 – LazyOne
@LazyOne謝謝,我會試試它,當我回家並讓你知道。當我去www.example.com/foo/bar時,我得到一個404,但是當我去www.example.com/index.php/foo/bar時,它工作正常。我想那是因爲那時重寫是不需要的,並且PATH_INFO被設置。 – bflemi3