0

CodeIgniterを使用してWebサイトを設計していますが、アンカーを正しく機能させるのに問題があります。

これが私がそれをどのように使っているかです。codeigniterのアプリケーションのviewsフォルダー内のファイルで使用されます。

 <?php echo anchor('/profile', 'PROFILE'); ?>

私の意図は、codeigniterのアプリケーションのコントローラーにあるプロファイルコントローラーをアンカーにロードさせることです。しかし、リンクをクリックすると、ファイルが見つからないと表示されます。

urlヘルパー関数alreaderを自動ロードすると、そのファイルの他の関数が機能します site_url()

何を逃したのかわからないのですか?何か提案はありますか?これはcodeigniterを使用した2番目のプロジェクトなので、まだ学習中です。

編集:はい、私はcodeigniterの命名規則に従っており、ファイルにはインデックス関数があります。スラッシュなしで試しましたが、それでも同じ結果が得られます。

これによって生成されるHTMLリンクはですlocalhost/profile。これは私が正しくすべきことですか?codeigniterの場合、それはurl/controller/functionです。URLからindex.phpを削除するためにmodを書き直しましたが、それは問題ではないはずです。ベースURLをもう一度確認してみます。

4

2 に答える 2

1

先頭のスラッシュが本当に必要ですか? やってみました:

<?php echo anchor('profile', 'PROFILE'); ?>

コントローラーフォルダー内の「プロファイル」サブフォルダーにアクセスしようとしている場合にのみ、スラッシュを使用します。URL が混乱したときに役立つのは、アクセスしたいパスへの完全な URL をブラウザーに入力することです (404 などを取得していないことを確認するため)。そこから、最後から始めて、何が欠けているかを確認するために戻ることができます。

ただし、通常はコントローラー名から始めて、呼び出す関数を次のように追加します。

anchor(controllerName/functionName)

例については、 CodeIgniter URL ヘルパーを参照してください。

編集: また、構成の base_url が何に設定されているかを確認する必要がある場合があります。派手な .htaccess が発生している場合は、base_url を適切に設定する必要があります。

于 2012-04-17T13:28:37.883 に答える
0

非常に簡単な解決策があります。config/constantsに移動し、そこでSITE_URLを定義して、その値をに設定します。

http://localhost/myprojectname/index.php. 

次に、このようにここで使用します。

<?php echo anchor(SITE_URL.'/profile', 'PROFILE'); ?>
于 2012-04-18T06:02:26.683 に答える