0

私は codeigniter を使用しています。ウェブサイトをセットアップするときに、必要なコードを .htaccess ファイルに追加して、URL から index.php (デフォルト) を削除しました。たまたま、Web サイトのバックアップ ファイルから public_html フォルダーを置き換えました。私はそれを行ったので、 http://www.obsia.com/index.phpのように、ドメイン名と残りのURLの間のURLにindex.phpを挿入しない限り、ホームページのリンクを機能させることができませんhttp://www.obsia.com/contact/の代わりに/contact/で動作します。したがって、アプリケーションフォルダー内の構成ファイルで、変更しました

$config['index_page'] = "";  

$config['index_page'] = "index.php";

すべてのリンクが機能するようになりました。しかし、どうすれば URL から index.php を削除できますか。

私の .htaccess コードは次のようになります。

RewriteEngine on
RewriteBase / 
RewriteCond $1 !^(index\.php|public|user_guide|robots\.txt|css)
RewriteRule ^(.*)$ /index.php?/$1 [L]

誰でも私を正しい方向に向けることができますか?それは非常に高く評価されます。

よろしく、G

4

2 に答える 2

3

あなたがしたいことは、この方法で行うことができます:

RewriteEngine on
RewriteBase / 
# Static content. Rewrite to - (don't change) and mark as last rule.
RewriteRule !^(index\.php|public|user_guide|robots\.txt|css) - [L]

# Do the rewrite.
RewriteRule ^(.*)$ /index.php?/$1 [L]

ただし、それを行うための少し良い方法は次のとおりです。

RewriteEngine on
RewriteBase / 
# Only do the rewrite under the condition that the requested URL isn't a (real) file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?/$1 [L]
于 2011-03-22T23:10:00.133 に答える
2

非常に多くのhtアクセスファイルがあります...私の場合、間違ったファイルを編集していました...プロジェクト内にあるファイルを編集する必要があります..たとえば、コードイグナイターで作業し、プロジェクト名は test だったので、テスト内フォルダーにはhtaccessファイルがあり、アプリケーションフォルダー内、つまりtest/applicationには別のhtaccessファイルがありました..アプリケーションフォルダー内のアクセスファイルを編集していましたが、test/application/.htaccessではなくテストフォルダー内のファイルを編集する必要がありました....合計1がこれが役立つことを願っています..私はこれを理解するのに半日を費やしました:(

乾杯ksp

于 2012-11-08T09:53:49.793 に答える