問題タブ [codeigniter-url]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.htaccess - base_url を使用した Codeigniter リダイレクト
base_urlを追加する単なる in とanchor('controller/method')
は異なる結果が生成されることに気付きました。<a href="controller/method">
anchor()
anchor('controller/method')
:
<a>
:
コントローラーでこれと同じ効果 (アンカー) を実現するにはどうすればよいですか? つまり、リダイレクトに base_url を追加しますか?
私は別のメソッドを呼び出すフォームを持っているのでmethod2
、redirect('controller/method')
. しかし、間違って にリダイレクトされcontroller/controller/method2
、フォームが再度送信されると、 にリダイレクトさcontroller/controller/controller/method2
れます。
そのため、事前に base_url を付けてコントローラー/メソッドにリダイレクトする方法を知りたいのです。redirect( base_url() . 'controller/method' )
動作しません。
index_page は次のように設定されています。
base_url は次のように設定されています。
.htaccess:
CI マニュアルで提供されている .htaccess が機能しないため、これに基づいています。
何か案は?
php - Codeigniter: Base_url が機能していないようです
Twitter の公開タイムラインからツイートを取得し、それらを 60 秒間キャッシュするなどの単純なサイトを開発しました。最近ホストを Hostgator から Mediatemple に移動しましたが、私のサイトは以前は Hostgator で正常に動作していました。
私のアプリケーションはデータベース接続を使用しておらず、どのような形式のフラット ファイル データベースも使用していません。ツイートはルート ディレクトリに保存されている XML ファイルにキャッシュされますが、そのほとんどは重要ではありません。
以下に示すように、url ヘルパーが含まれています (これは autoload.php のヘルパー行です)。$autoload['helper'] = array('url');
また、.htaccess ディレクティブを使用して URL から index.php ファイルを削除しました。これも以前は Hostgator で機能していました (以下の .htaccess コードを参照)。
アプリケーション内のビュー フォルダーにある私の home.php ビュー ファイルでは、ビュー ファイル内の Hostgator で以前に動作していた関数 base_url() を使用して、ヘッダーに base href 値を追加しています。<base href="<?php echo base_url(); ?>" />
config.php ファイルでの base_url の値は次のようになります。
起こっているように見えますが、base_url はまったく表示されません。何らかの理由で空のように見えるため、 base_url の値をエコーアウトしているようには見えません。
さらに奇妙なのは、「fetch.php」という別のビュー ファイルにリンクがあり、何らかの理由で値が取り除かれているように見えることです (XSS フィルタリングはオフになっています): <a href="threetune/show"><img src="assets/images/cookie.jpg" /></a>
threetune/show 部分は表示されず、このような空の href 値しか表示されません<a href=""><img src="assets/images/cookie.jpg" /></a>
Mediatemple サーバーの制限や設定が必要な PHP.ini フラグなど、私が行った可能性のある問題を誰かが見ることができますか? ありがとうございます。十分に説明できたことを願っています。
php - CodeIgniterでこれをURIルーティングするための最良の方法は?
したがって、CodeIgniterのWebサイトであるForrstの例を次に示します。
http://forrst.com/posts/PHP_Nano_Framework_WIP_Just_throwing_some_ideas_o-mU8
その素敵なURLを見てください。ルートサイト、次にposts
投稿タイトルと短い抜粋があります。これは、ユーザーエクスペリエンスにとって非常に優れています。
しかし、私のCodeIgniterサイトのURLは単純にひどいものです。例えば
http://mysite.com/code/view/120
したがって、コントローラーにアクセスし、次にcode
関数にアクセスし、最後に投稿IDがあります(それに基づいてデータベースクエリを実行します)。view
20
ルーティングができることに気づきました。したがって、routes.phpファイルに次のように記述します。
$route['posts/(:num)'] = "code/view/$1";
-したがって、これによりhttp://mysite.com/posts/120はhttp://mysite.com/code/view/120と同じになります。もう少しいいです、私はあなたが同意すると思います。
私の質問は、投稿の抜粋が実際にURLに追加される、Forrstと同様の手法をどのように使用できるかということです。これがどのように可能になるのか、私にはよくわかりません。PHPスクリプトは、特に同じタイトルのものが複数ある場合、データベースで何を検索する必要があるかをどのように判断できますか?
ありがとう!
ジャック
php - CodeIgniter + encodeURIComponent
codeigniter 関数のクエリ文字列で送信された URL を取得しようとしています。
ただし、何らかの理由で、URL に常に http プロトコルの「/」がありません。ログから得られるのは次のようなものです。
regex - codeigniterを$_GETで動作させますか?
CIが$_GETを処理する際に問題が発生し、それを克服する方法を見つけました。
問題は、ここでセキュリティの問題を確認できますか?
私は私のURLを次のようにすべて持っています
そして、CodeIgniterのデフォルトのコントローラーはインデックスと呼ばれます
$_GET
に従う限り、 CIをで動作させることができますclass/function/default_controller
。
これらのURLは両方とも機能します。
事は私はこれらも機能させたいということです
私の解決策は、の少しの正規表現でした$_SERVER['REQUEST_URI']
。
私は正規表現の専門家ではないので、ここでセキュリティの問題の可能性を確認できますか?
ありがとうございました。
php - codeigniter に最も適したファイル構造はどれですか?
こんにちは、codeigniter のファイル構造について考えています。現在私が行っているのは、開発中のプロジェクトでフォルダーを作成し、「myProject」と名付けて、そのファイル内に codeigiter フォルダーを配置することです。 .そして、コントローラーフォルダーに myProject というクラスを再度作成することにより、すべてが正常に行われます...
この構造は機能しますが、非常に見苦しい URL を作成します (たとえば、ローカル サーバーで): http://localhost/myBlog/CodeIgniter_1.7.2/index.php/myBlog
また、ルート フォルダーにいくつかの問題が発生します...ルートに css フォルダーがある場合は、「/myBlog/CodeIgniter_1.7.2/css/myBlogStyle.css」のように呼び出す必要があります。
それは好きではありません:「css/myBlogStyle.css」
codeigniter を使用する正しい方法について何か提案はありますか? 前もって感謝します
codeigniter - URL データが codeigniter コントローラーの関数に渡されません
私が使っているドメインはhttp://www.domainname.com/admin/users/edit/1
codeigniter - 1 つのホストでの Codeigniter + Opencart -- URI ルーティングの問題
OKボードを検索しましたが、特定の答えが見つかりませんでした。ウェブサイトとショップは同じではありません。Codeigniter はすべての処理に使用されているので、Opencart を使用してショップを追加したいのですが、URI ルーティングが問題です。
(実は私はCIのファンではありませんが、前の人が使っていたので、続けるしかないので、CI沿いにショップを追加する必要があります!)
ウェブサイトをショップから分離し、それぞれをホスト上の個別のフォルダーに配置し、.htaccess 書き換えルールを使用して各 MVC に関連する URI を処理する必要がありますか、それとも簡単なことでしょうか?
codeigniter - codeigniter マルチドメイン設定の質問
codeigniter のマルチドメイン設定をしようとしています。
このようなリンクをサポートする必要があります
www.site.com/users/username subdomain.site.com www.othersiteparkedonsite.com
この3つの異なるケースで、ケースに関するアプリケーションフォルダーをロードしたい
index.php の次のコードは、サブドメインとドメインのケースでのみ機能します
しかし、最初のケースとサブドメインを識別する方法????
コードアップを使用すると、ルートフォルダー内の /sites/ フォルダーを 1 つだけ使用して、サブドメイン名またはドメイン名でフォルダーをロードできますが、ルーティングを作成する方法、または htaccess を使用して、ユーザー名、サブドメインに関するアプリケーションフォルダーをロードできるようにします。ドメイン、およびコントローラー??? www.site.com/users/usernameX にアクセスすると、
index.php は /usersites/usernameX フォルダを読み込みます
からのサブドメインの場合
sub1.site.com はアプリケーション フォルダを読み込みます
/subdomains/sub1_site_com
同じフォルダに駐車している他のドメインの場合
www.otherdomain.com が読み込まれます
/sites/otherdomain_com
と
www.site.com/somecontroller/somefunction は、ルートにあるメインの /application フォルダーから動作します ...
手伝って頂けますか?
codeigniter - 再ルーティング後にデフォルトのコントローラーがロードされない
私は、そのようなリンクでサイトを提供できるようなコードを持っている codeigniter multistie インストールを持っています
site.com/sites/sitename/controller/function/vars site.com/controller/function/vars/
subdom.site.com/controller/function/vars
課題は、ルーティングと
私は次のようにリンクを操作します
site.com/sites/sitename/controller/function/vars site.com/controller/function/vars
行くときのアイデアで
www.site.com/sites/sitename/
デフォルトのコントローラーがロードされていません。
リンク構造に関しては、リンクにアクセスしたときにconfig.phpを作成しました
site.com/sites/sitename/controller/function/vars
それから
私が行くなら
site.com/controller/function/vars
それから
$config['base_url']="http://site.com/";
2 番目のケースでは、デフォルトのコントローラーが完全にロードされます。サブサイトの場合 not/
私はちょうど404を得ます
何をすべきか?
更新 2:
マルチフォルダーのセットアップがあります。
ユーザーが www.site.com/sites/site_name にアクセスしたとき
次に、アプリケーションのフォルダー
/root_folder/usersites/site_name が読み込まれます。
ユーザーが site.com/controller/function/var1/var2 だけに移動する場合
であるデフォルトのアプリケーション フォルダ
/root_folder/application が読み込まれます
ユーザーが sub1.site.com アプリケーション フォルダーに移動したとき
/root_folder/domains/sub1_site_com が読み込まれます
アドレスバーに入力すると
http://site.com/sites/site_name
no URI のようにする必要があります。デフォルトのコントローラーをロードする必要があります。