0

私は htaccess の初心者で、ここで何が起こっているのかわかりません。PAGEID=pageName で index.php を指すようにすべてのリダイレクトを取得しようとしています。

したがって、domain.com/manager は index.php?PAGEID=manager にプッシュされます。

今、私はこれを機能させていますが、ディレクトリ「test」にヒットしたときに正常に動作する必要がありますが、domain.com/test に移動するたびに index.php?PAGEID=test にプッシュされます

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/test
RewriteRule ^([\w/]*)$ index.php?PAGEID=$1 [L]

これを機能させる方法についてのアイデアはありますか? 私は何が欠けていますか?

4

1 に答える 1

0

このロジックには問題があると思います。この例では 'domain.com/test' に、domain.com の後のすべての文字列 (test) を 'index.php?pageid=test' に置き換えるという条件を記述しているためです。

問題は、ドメイン 'domain.com/index.php?pageid..' の後に 'index.php' も文字列として表示されることです。ここでも書き換え条件が適用され、書き換えられます。

このようなことを試してみるといいと思います。 htaccess、仮想サブドメインを URL パラメーターにリダイレクト

または、「test」が静的文字列の場合、書き換え条件で、文字列「test」のみを「index.php/pageid=test」に置換するように指定できます。

于 2012-08-09T18:50:24.717 に答える