2017-06-30 8 views
0

私はCodeigniter URL Routingと.htaccess URL書き換えを理解したかったのです。 どちらも同じですか?Codeigniterルーティングと.htaccess URL書き換えの使用

基本的に、コントローラに渡されるIDを非表示にしたいと考えています。私はどのようにしてそのように使うことができるのか理解したいですか?

また、それは、私はちょうど私のドメインやフォルダ名を表示し、URLの他の部分

例えば隠すことができるということも可能です。

www.example.com/distributor/tenant/info/1

www.example.com/distributor

は、だから私は、.htaccessの

私の現在の.htaccessこの

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /bizcloudds/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 

</IfModule> 

のように見えますが、これと同じことを行うことができます使用して私のコントローラとIDを非表示にすることができますCodeigniter Routesとは?

私はRoutesにCodeIgniterのドキュメントにこのようなものを見ました:

$route['blog/joe'] = 'blogs/users/34'; 

しかし、私は私のルートファイル内のレコードの34すなわちIDを取得する方法を理解していませんか?

私は.htaccessとCodeigniter Routesに関する知識がほとんどないので、説明してください。

+2

_ "基本的には、コントローラに渡されたIDを隠しておきたいのですが - それは不可能です。クライアントが '/ distributor'だけを要求した場合、サーバがそれを特定のIDに関連付けることはできません。すべてのリクエストに対してPOSTを使用することができます。そうすれば、ユーザーは渡すID値を直接認識することはできませんが、アプリケーションが1つのビットを「より安全に」すると思うなら、既に問題がある可能性があります。 – CBroe

+2

_ "私は自分のドメインとフォルダ名を表示し、URLの別の部分を隠すこともできます" _なぜあなたはそれをしたいのですか?それは人々がコンテンツの特定の部分をブックマークするのを防ぎます、それは検索エンジンが個々のコンテンツを索引付けするのを妨げるでしょう...これは通常、それを鈍く置くために、インターネットは動作します... – CBroe

+0

彼らは同じではありません。ルートは、CIの標準的なセグメントベースのURLへのアプローチを変更するために使用されます - [Documentation Here。](https://www.codeigniter.com/user_guide/general/urls.html)セッションデータを使用してIDを渡すことを検討してください。 – DFriend

答えて

0

投稿方法を使用すると、あなたの質問に対する解決策を見つけることができます。たとえば

<form action="page_url" method="POST"> 
<input name="id" value="16" type="hidden"> 
<input type="submit" value="Show Details"> 
</form> 

ご理解いただきますようお願い申し上げます。これについてさらにガイダンスが必要な場合は、お手伝いします。

+0

ありがとう私はオプションでこれを持っているが、私はリストを持っている多くのページを持って、ので、すべてのthosesリストのページのために私はしたくないフォームがあります!もっとダイナミックなことはありますか? – Rajan

+1

はい私たちは、このフォームをすべてのページに共通して作成することができ、リンクの特定のクラスを使用し、JavaScriptを使用してクラスを持つリンクをクリックしてフォームを送信します。したがって、それはポストとして価値を渡すでしょう。わたしにはできる。私はこの方法を私のプロジェクトの1つとして使いました。あなたはちょっと気をつけなければなりません。それは動的に動作します –

+0

私は何か助けが必要な場合、私はあなたに戻って取得することを確認しましょう:) – Rajan