2016-09-09 2 views
2

ローカルホストでCIプロジェクトを実行していますが、ライブをアップロードしようとしたことはありません。さて、私はCIプロジェクトをウェブホスティングにアップロードしてURLが大文字と小文字を区別しているのは初めてです。CodeIgniterコントローラ大文字と小文字を区別

www.mywebsite.com/content 

上記のコードは、localhostで動作しますが、ライブサーバーでは機能しません。これは動作します:

www.mywebsite.com/Content 

お気づきのように、そこに大文字のCがあります。

コンテンツコントローラーにつながるすべてのアンカーを変更する必要がありますか、www.mywebsite.com/contentと入力するとwww.mywebsite.com/Contentに変換される方法がありますか?

+0

Codeigniterのどのバージョンですか? – DFriend

+0

@DFriend 3.0.4は私のCIのバージョンです – aronccs

+0

ここを見てくださいhttp://www.codeigniter.com/user_guide/general/styleguide.html – user4419336

答えて

1

あなたが使用している言ったようにCI 3

CodeIgniterの変更ログは

変更ファイル命名規則は、(クラスファイル名は今はucfirst と小文字で他のすべてでなければならない)と言います。だから、コントローラとファイルが に名前を付ける

  • My_controller (のみM大文字が小文字休ま)

  • でなければなりませんPublic_controller

  • Application_controller

  • Foo_controller

この場合、CI-2が良好であった。

Codeigniter Class and filename case sensitive on Linux (centos)

注1:

WindowsホスティングとLinuxホスティングは、ファイル名の違いを持っ​​ている(また サーバーでのライブホスティングプロバイダ()のほとんどは、ローカルホストとして働いて完全な自由を与えることはありません。セキュリティ上の理由から、サーバーに実装され、いくつかの厳格なモードやポリシーがあるでしょう)2

注:

問題は、ファイル名だって存在するが、Linux上で異なりますdはWindowsのMyFileの& MYFILEは、Windowsで同じパスに存在することはできませんが、Linux codeigniter url case sensitive issue

+0

これは私の命名規則です。それはローカルホスト上で動作しますが、ライブサーバ上では動作しません – aronccs

+0

y CI 3が慣習に従うべき理由があるかもしれません... –

+1

'ParentPortal'は許可されていませんか?それは 'Parentportal'でしょうか? – aronccs

1

に、コントローラの名前とモデルの名前の最初のアルファベットを大文字にする必要がありますすることができます。私のCIバージョンは3.1.0

+0

'ParentPortal'は許可されていませんか?それは 'Parentportal'でしょうか? – aronccs

+0

は、最初のアルファベットが大文字である限り、どちらも有効です。 –

+0

私は今、問題を知っていると思います。 'Parentportal'を' parentportal'としてURLに入力しても動作しましたが、 'ParentPortal'を試しても動作しません。結論として、解決策は次のとおりです。コントローラの最初の文字のみを大文字にする必要があります – aronccs

関連する問題