私はCodeigniterとMVCが比較的新しいです。しかし、2つのアプリ「Locally」を成功裏に作成しました。探索中に、URLから「Index.php」を削除する方法とカスタムルートについても調べました。私が持っている.htaccessファイルは、ローカルでcharmのように動作しますが、ホストしようとしています。発行している505 内部サーバーの問題.htaccess issue | Codeigniter
ここで私が持っている最初の.htaccessコード(ローカル作品)である: - 私は、コードを使用すると
<IfModule mod_rewrite.c>
# Turn on URL rewriting
RewriteEngine On
# If your website begins from a folder e.g localhost/my_project then
# you have to change it to: RewriteBase /my_project/
# If your site begins from the root e.g. example.local/ then
# let it as it is
RewriteBase/
# Protect application and system files from being viewed when the index.php is missing
RewriteCond $1 ^(application|system|private|logs)
# Rewrite to index.php/access_denied/URL
RewriteRule ^(.*)$ index.php/access_denied/$1 [PT,L]
# Allow these directories and files to be displayed directly:
RewriteCond $1 ^(index\.php|robots\.txt|favicon\.ico|public|assets|css|js|images)
# No rewriting
RewriteRule ^(.*)$ - [PT,L]
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]
</IfModule>
上記のエラーがありますが。そして、アプリケーションは.htaccessが削除されたときにのみ動作します。 (私は不便な長いURLを使用する必要があります)
簡単な調査と成功しなかった別の.htaccessを使用した後、私はホスティングされたCIアプリケーションを正常に実行している私の友人の1人に尋ねました。彼は私に着陸ページを何の問題もなく導くファイルを私に送る。しかし、ルーティングを使用して/使用しないであらゆる機能を呼び出すことはできません。カスタムルーティングされたUR1(www.mySite.com/contact)を使用すると、実際のURLスキーム(www.mySite.com/welcome/contact_page)と同じランディングページに移動します。
新しいコードここに: -
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /mypage/test1/
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
このコードを使用すると、私のランディングページを示していますが、私はそこからさらにいずれかを移動することはできません。関数を呼び出そうとすると、ランディングページがリロードされます。これは、私は最後のエラーが原因であると考えています。コード処理(ErrorDocument 404 /index.php)
解決策が何であるか知っていますか?ホストされたとき
質問
- なぜ最初の.htaccessコードの仕事をdoesntの?
- 2番目に利用可能な.htaccessファイルの問題は何ですか?
- あなたはもっと良い.htaccessファイルを持っていますか?はいの場合は、ここに投稿できますか?
あなたのCIのどのバージョンを使用していますか? CI3を使用している場合、ファイル名とクラス名には大文字の最初の文字のみが含まれていることを確認してください。 – user4419336
私は2を使用しています。クラス名の最初の文字は大文字です! –
エラーメッセージと[状態コード](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.6)を読むと、httpプロトコルバージョンで何かが間違ってしまう可能性があります。それもチェックしてください。 – Tpojka