私は、サーバの切り替え後に正しくルーティングされないようなCIアプリケーションを持っています。私は、これは、クエリ文字列パラメータとURLセグメントの両方を可能にしなければならないCodeIgniter Mod_Rewrite問題 - URLのみがインデックスを表示しています
$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;
を持っている私の設定で
。
これは、(それは古いサーバー上にあるとして)理論の仕事にすべきである:
http://www.domain.com/register?param=something
しかし、関係なく、私はそれに行って何URLのみインデックスを示していません。
私はhttp://www.domain.com/register
に行くのであれば、それはレジスタ制御を得ることはありません。しかし、それはインデックスを見せて、アドレスバーにこのことを示しています。
私は 'uri_protocol'をREQUEST_URIに変更すると動作します。しかし、クエリ文字列パラメータはそうではありません。
私の.htaccessは
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico|license.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
RewriteCond %{QUERY_STRING} .
RewriteRule ^$ /? [L]
問題は何ができるか任意のアイデアですか?私が言うように、それは別のサーバーで動作しています。だから、私はおそらくApacheと何かを考えているのだろうか?
ありがとうございます!
ありがとうございますが、まだ動作しません。 $ _SERVERにPATH_INFOはありませんが、/ registerであるORIG_PATH_INFOがあります – dzm
私は$ config ['uri_protocol']を更新して 'ORIG_PATH_INFO'を使用しました。これが最善の解決策ですか? – dzm
@daveはい。 PHPの実行環境(モジュール、CGI、FastCGI)によっては、実際の 'PATH_INFO'は' $ _SERVER'の奇妙なエイリアスにあります。 –