-1

これは、MVC 用にセットアップした htaccess です。

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

したがって、localhost/users/へのリクエストはすべてlocalhost?url=users/にリダイレクトされます。

ただし、次のように、URL で取得可能なデータがある場合: localhost/users/?msg=hello

$_GET['url']に?msg=helloがありません。localhost/users/msg=hello/のようなものにリダイレクトすることは可能ですか?

4

2 に答える 2

4

"QueryString Append"オプションを使用し、

RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]

参照元: .htaccess: 書き換えで GET 変数が失われる

于 2013-08-21T16:03:18.643 に答える
0

あなたがやろうとしていることはかなり複雑です。別の方法として、次のことを試すことができます。

RewriteRule ^(.*)$ index.php/$1 [PT,L]

そのルールを使用すると、$_SERVER['REQUEST_URI'] 経由で URL にアクセスできます。

get パラメーターを失っている理由は、サーバーが 2 つの「?」で URL を作成するためです。元:

http://localhost/?url=users/?msg=123
于 2013-08-21T16:04:01.930 に答える