0

たとえば、example.com で自分のブログを書いています。投稿に脚注を使用しようとしています。だから私はアドレスにポストを持っています:

http://www.example.com/blog/2012/04/post-slug

脚注にこのコードを使用します (markdown-extra によって生成されます)。

<p>That's some text with a footnote.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<div class="footnotes">
<hr />
<ol>
<li id="fn:1">
<p>And that's the footnote.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>
</ol>
</div>

このコードは、投稿の本文としてデータベースに保存されます。

問題は、ブラウザーで投稿をポイントしてリンクをクリックすると、次のように自分のサイトのホームページを指すことです。

http://www.example.com/#fnref:1 

http://www.example.com/#fn:1 

正しい代わりに:

http://www.example.com/blog/2012/04/post-slug#fnref:1

http://www.example.com/blog/2012/04/post-slug#fn:1

それぞれ。

つまり、URL の一部を考慮していません。

/blog/2012/04/post-slug

彼らは何らかの理由でホームページにいると「思っています」。Codeigniter では、URL に index.php を含めないことにしました。そしてもちろん、routes.php ファイルにいくつかのルーティング定義があります。この問題が発生する理由がわかりません。たぶん、ルーティングに関係しています。config.php ファイルで利用可能なすべてのオプションを試しました。

$config['uri_protocol'] =  'AUTO';  

(PATH_INFO など) しかし、役に立ちませんでした。

誰でも助けることができますか?前もって感謝します。

4

1 に答える 1

0

CI は常にルートにあるように動作します。これは、その index.php ファイルが配置され、そこからすべてのコントローラー/メソッドが呼び出されるためです。hrefケースを解決するには、属性にパスを追加するかbase、Zenbait が言ったように を使用することをお勧めします。

于 2012-05-02T22:12:49.190 に答える