2012-05-02 44 views
0

我写过自己的博客让我们来看看example.com。 我正在尝试为我的帖子使用脚注。 所以我必须在地址后:同一页面链接在Codeigniter中不工作

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

我用脚注这个代码(由生产降价-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文件中所有可用的选项:

​​

(PATH_INFO等),但没有帮助。

任何人都可以帮忙吗? 在此先感谢。

+0

你有一个'<基本href = “”/>'在''定义?这将覆盖锚点。 – Seabass

+0

是的,这是问题所在。非常感谢你!我想我必须在和锚点之间进行选择。 – Kostas

+0

你可以用一些漂亮的JavaScript来解决这个问题,但是如果没有,通常情况下会更好。干杯。 – Seabass

回答

0

CI总是表现为它的根,是因为这正是它的index.php文件所在和所有的控制器/方法是从那里调用。 为了解决你的情况,我建议你添加路径到您href属性,或使用base,像Zenbait说。

+0

我想如果我继续使用'base href',我必须手动添加正确的路径到我的锚或更改降价库以添加到锚的路径。 – Kostas

+0

是的,避免'base'是个好主意。 – Shomz