2012-04-18 5 views
1

私はそれがだCodeIgniterのカスタムURLを嫌い:domain.com/controller/action/idCodeIgniterでカスタムURLを無効にする方法は?

私は、通常のウェブサイトのように、それを持つことができますどのように:誰でもどのように知っているdomain.com/controller.php

をそれを無効にする? (最新のCodeIgniterを使って)

+2

何あなたはそれを行うことによって達成しようとしていますか? –

+0

私はPHPの_GETクエリを解析しようとしていますが、PHPの関数は、それらを適切に読み取ることができません。私はまた、URLを解析する多くの機能を持っていますが、彼らはカスタムcodeigniterのURLで動作しません。私はただ伝統的なURL構造をしようとしています。 – user962449

+1

おそらくMVCフレームワークは正しい選択ではありませんか?それはあなたのために余分な仕事の多くを作成するかもしれないようです。 [カスタムルーティング](http:// codeigniter。com/user_guide/general/routing.html)、また 'GET'パラメータを有効にします(*はCIで可能です)。 –

答えて

3

あなたはそれを嫌う場合は、CodeIgniterのようなフレームワークにジャンプする準備ができていないかもしれません。 URLのようなものは大きな特徴であるため、URLには何かのためのポインタだけでなく、いくつかの実際の意味があります。あなたが代わりにexample.com./person/profile/123の、example.com/person.php?id=123&action=seeprofileのようなものに使用されているが、どのようにあなたがそれの美しさを見ることができない場合、それは大丈夫ですか?なぜあなたはそれをそうするべきなのか、他の人はそんなことをしている理由を説明する専門家をチェックしてください。

EDIT: あなたは、この偉大な機能のきちんと理解できるようにするには、ドキュメントのこのページをチェックする必要があります。

http://codeigniter.com/user_guide/general/controllers.html#passinguri http://codeigniter.com/user_guide/general/routing.html http://codeigniter.com/user_guide/libraries/uri.html

+0

+1 "あなたが嫌い​​な人は、codeigniterのようなフレームワークに飛び込む準備ができていないかもしれません。" –

+0

「domain.com/file.php?id = 34&action = now&mode = delete'」の使い方の例を教えてもらえますか? (ファイルがクラスであると仮定して) – user962449

+0

@ user962449:これをいくつでも設定できますが、この 'domain.com/controller_name/method_name/argument_1/argument_2/etc'のようになります。 [URIクラス](http://codeigniter.com/user_guide/libraries/uri.html)と[ルーティング機能](http://codeigniter.com/user_guide/general/routing.html)は、これは非常に柔軟なアプローチです。 –

1

CIのドキュメントから:http://codeigniter.com/user_guide/general/urls.html

config.phpを/あなたの設定でURLの接尾辞

を追加あなたがに追加されるサフィックスを指定することができますファイルCodeIgniterによって生成されたすべてのURL。あなたは、必要に応じてページを作り、.htmlのように、接尾辞を追加することができます

example.com/index.php/products/view/shoesは、特定のタイプのように見える:たとえば、URLは、このある場合

example.com/index.php/products/view/shoes.html

+0

domain.com/main.phpを持っていればいいです代わりにdomain.com/index.php?c=main – user962449

+0

申し訳ありませんが、アプリケーションから.phpファイルを取り出して、yoursite.com/outside.phpとして提供することができます。 outside.phpであなたのアプリケーションのDBを呼び出すには、接続するために典型的なPHPコード、例えばmysql_connect(サーバー名、ユーザー名、パスワード)を実行するだけです。 –

+0

はい、私はcodeigniterを使用したいと思います:) – user962449

1

私はあなたが達成しようとしているのか理解していません。あなたはカスタムURLを嫌いだと言うかもしれませんが、実際これはフレームワークの仕組みの基本的な部分です。

あなたが本当にそれを好きではない場合は、routingを調査し、どのようにこれはCodeIgniterのコンテキストで動作する必要があります。そこ私もサポートするコントローラメソッドIDのパターンを使用して、ないために本当に、本当に良いの引数があるが、これはそれではありません。国際化は、ただ一つのことです。

とにかく、ドメイン名にfile.phpまたはmy-pro-script.phpを追加することは、サイトのユーザーではなく、.php拡張子をあまり気にしないユーザーにとってはまったく関係ありません。これをしたいあなたの議論は何ですか?

+0

私のアプリには多くのレポートと検索が含まれます。それは私ができるだけ基本的なものになるためのURLが必要です。これは、カスタム構造のimoでより多くの作業です。 CIはそれを増やさないようにコーディング時間を削減すると考えています... – user962449

+0

また、ルーティングに関するより多くの例がどこにあるのでしょうか? (あなたが提供したリンクに加えて)。 – user962449

+0

私はあなたが達成したいことを理解していると思います。ここでのルーティングは間違いなく答えです。私は翻訳可能なURLを実装するための同様の考え方を調査していました。本当に素晴らしい解決策はこれです。http://darrenonthe.net/2011/05/06/dynamic-routing-from-database-in-codeigniter/ - 基本的にあなたは何らかの種類のDBバックエンドを通してカスタム経路を定義し、CIはあなたの質問で言及したURLパターンの代わりに定義された経路を使用します。見てみましょう。しかし、あなたは本当に「単純さ」とあなたのサイトの意味で何を意味するのかをもっと考える必要があります。 – dmp

0

、 は...それはあなたが欲しいものだかもしれ あなたはこのオプションをTRUEに設定することで、標準的なクエリ文字列ベースのURLを有効にすることができconfig.phpファイル内のオプションenable_query_stringsがあります。

関連する問題