1

以前、URLから.htaccess削除できるように、誰かに問題を手伝ってもらいました。index.phpただし、それは機能しているように見えましたが、それが私が間違っていることでない限り、完全に機能したかどうかはわかりません (おそらく、PHP/CI/WAMP の初心者で、今週の金曜日に書き始めたばかりです)。

Windows 7 マシンで CI と WAMP を使用しています。これが私のもの.htaccessです:

RewriteEngine on
RewriteCond $1 !^(index\.php|css)
RewriteRule ^(.*)$ index.php/$1 [NC,L]

サイトを見るためにアクセスするベース URL は次のとおりです。

localhost/forum/

上部にいくつかのメニュー項目があります。そのうちの 1 つでForumあり、それが書き出されると、リンクは次のようになります。

<a href="<?php echo base_url(); ?>

config ファイルに base_url が設定されていません。しかし、リンクにカーソルを合わせると、次のように表示されます。

localhost/Forum/

Chrome で要素を検査すると、次のように表示されます。

<a href="http://localhost/Forum/">

サブフォーラムとなるものへのリンクである div があります。html では、次のように記述します。

<a href='$record->name/'>

div にカーソルを合わせると、次の場所に移動することが示されます。

localhost/Forum/Site/

要素を調べると、次のようになります。

<a href="Site/">

しばらくの間、Mozilla または Chrome を起動して [Site] をクリックすると、目的の場所に移動できました。その後、[フォーラム] をクリックすると、元に戻ります。しかし、Site をもう一度クリックすると、404 ページに移動します。その後、ブラウザを閉じて再度開くと、もう一度動作し、同じことを行います. ここで何が起こっているのかわかりません。これを入力しているときに、ベース URL を に設定しましたがhttp://localhost/Forum、それでも何もしませんでした。

アップデート

base_url を編集して問題を修正しました。最後にaを忘れてい/ました。

4

1 に答える 1

0

site_url()代わりに使用してください。base_url()主に Javascript や CSS などのメディアへのリンクに使用されます。

すなわち

<a href="<?= site_url('forum'); ?>">Forum</a>

また

<a href="<?= site_url('forum/' . $Category->CategoryID . '/' . url_title($Category->Title)); ?>"><?= $Category->Title; ?></a>

詳細については、 http://codeigniter.com/user_guide/helpers/url_helper.htmlを参照してください。

HTH

于 2012-04-20T13:33:35.470 に答える