Memo

メモ > サーバ > 各論: プログラミング > mod_rewriteを使う

■mod_rewriteを使う
mod_rewriteが機能しなかったり、「No input file specified.」と表示されて動作しなかった場合の対応 サーバ環境によっては、少し書き方を変える必要がある 以下は大抵のサーバで動作する書き方 チュートリアル | levis: PHP Framework http://refirio.org/levis/manual/tutorial.html#url
DirectoryIndex index.php <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !\.(css|js|png|jpeg|jpg|jpe|gif)$ RewriteRule (.*) index.php/$1 </IfModule>
以下はXServerなどで動作させるための書き方 リライトで「index.php?/$1」とした場合でもPATH_INFOを取得するフォールバックコード - Qiita https://qiita.com/sounisi5011/items/6681bea157a04acf5a51
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode DirectoryIndex index.php <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !\.(css|js|png|jpeg|jpg|jpe|gif)$ #RewriteRule (.*) index.php/$1 RewriteRule (.*) index.php?/$1 [QSA,L] </IfModule>

Advertisement