2012-04-15 10 views
-2

私は自分のMVCアプリケーションをPHPで構築しています。 index.phpはフロントコントローラになります。 index.phpの中 iは$ _SERVER [ 'QUERY_STRING']でパラメータがかかりますので、私はindex.phpに/ ATTR1/ATTR2/attr3をリダイレクトするために、私のカスタムmvcアプリケーションのhtaccessファイル

.htaccessファイルがありますか?ATTR1/ATTR2/attr3。

($ _SERVER [ 'PHP_SELF']は正常に動作しない)

私のhtaccessファイル(Apacheサーバ)は

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^(.*)$ index.php?$1 
</IfModule> 

QUERY_STRING出力であれば のindex.phpしかし、私は、ビアをURLにアクセスしている場合localhostの/何か/ ATTR1/ATTR2/attr3と.htaccessはQUERY_STRINGがATTR1/ATTR2/attr3

を印刷している

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^(something)\/(.*)$ index.php?$2 
</IfModule> 

です3210

WTF ??

答えて

1

私はこのように実行します。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?url=$1 [NC] 
</IfModule> 

をして、URLが$ _GET配列

+0

(4番目と5番目の行はそのパスで実際のファイルが存在しない場合、ルールが適用されることを確認)になります素敵な!!だから私はこのRewriteCondを入れなければならなかった!私はそれらをよりよく勉強します!どうもありがとう!! – user666