-2

PHPで独自のMVCアプリケーションを構築しています。index.php がフロントコントローラーになります。index.php では、$_SERVER['QUERY_STRING'] でパラメーターを取得するので、

/attr1/attr2/attr3 を index.php?attr1/attr2/attr3 にリダイレクトする .htaccess ファイル。

($_SERVER['PHP_SELF'] は正しく動作しません)

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

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

query_string は index.php を出力しますが、localhost/something/attr1/attr2/attr3 を介して url にアクセスし、.htaccess が

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

query_string は attr1/attr2/attr3 を出力しています

なに?

4

1 に答える 1

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 配列になります (4 行目と 5 行目は、そのパスに実際のファイルがない場合にルールが適用されることを保証します)

于 2012-04-15T12:09:26.187 に答える