どうやら、私の.htaccess書き換えは私のページ上のすべての_$_GET
_-変数を使い果たしてしまいます:
URL http://192.168.1.1/welcome/test?getvar=true にアクセスし、index.phpファイルでvar_dump($_GET)
を実行すると、次の出力が得られます。
_array
'/welcome/test' => string '' (length=0)
_
そのため、_$_GET
_- dataは利用できず、URLからのgetvar
変数の兆候もありません。
これが私の.htaccessです:
_RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
_
書き換えが意図したとおりに機能するが、_$_GET
_- variablesに引き続きアクセスできるようにするには、何を変更する必要がありますか?
「QueryString Append」オプションが必要です。
RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]
編集:正しいので、@ DonSebaの貢献を追加しました。
細部の変更:
RewriteRule ^(.*)$ index.php?/$1 [L]
に
RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]
これで、すべてのルートが$ _GET ["route"]に表示されます
RewriteRule ^(.*)?(.*)$ index.php?/$1&$2 [L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^myapi(.*) ./my_real_api_file.php? [QSA]
</IfModule>
私のためにトリックをしました。
これでリクエストできます: http://www.mydomain.com/myapi?foo=xy&bar=ab
そしてリダイレクトされます: http://www.mydomain.com/my_real_api_file.php?foo=xy&bar=ab
あなたのAPIコードを隠すのに非常に役立ちます。