0

CodeIgniter フレームワークを使用して PHP でサイトを作成しました。完了したら、ファイルを編集しroutes.phpて .htaccess ファイルを追加/index.php/し、URL から一部を削除しました。

これで、localhost で開こうとすると、問題なく動作しhttp://localhost/mysite、目的のランディング ページにアクセスして取得できます。

しかし、問題は、サーバー上のサイトにアクセスしようとすると、エラーが発生することです。したがって、次のようなものを開くhttp://mysite.comと、CodeIngniters のデフォルトの 404 ページが表示されます。次のように URL を指定すれば、他のすべてのページを開くことができhttp://mysite.com/aboutます。

これを修正するにはどうすればよいですか? 前もって感謝します。

編集: .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [NC,L,QSA]
4

3 に答える 3

0

この .htaccess コードは常に機能します。これを試すことができます。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
于 2013-08-01T11:42:49.183 に答える
0

この .htaccess コードは機能します

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

そして設定で

$config['index_page'] = '';
于 2013-08-01T12:32:35.553 に答える
0

あなたの .htaccess はいくつかの懸念を引き起こします.CodeIgniterで動作するかもしれないクエリ文字列としてファイルの場所を渡そうとしていますが、これを行うより良い方法があります.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php [L]

また、config.php に次のオプションが設定されていることを確認してください。

$config['uri_protocol'] = 'REQUEST_URI';

幸運を。

于 2013-08-01T11:45:03.540 に答える