2

Windows 7 にインストールされた Apache2 を使用して、以下の htaccess 構成を使用して、codeigniter URL から index.php を削除します。

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

上記の構成がubuntuで機能しない理由を誰か教えてください。Sudo a2enmod rewriteを使用して mod 書き換えを有効にしました。ありがとう

4

1 に答える 1

2

これはおそらく、ubuntu サーバーが PATH_INFO を渡すように設定されているためです。つまり、クエリ文字列は必要ありません。おそらく?、ルールから を削除するだけで機能するはずです。

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
# no query string ----------^
于 2013-08-21T19:23:24.030 に答える