2

我有一个网站,我正在使用 php 进行导航,我正在尝试使用单个网页,我还有一个从底部向上滑动的联系页面

在 hrefs 中类似于 href="?id=contactme" 然后我使用 switch() 函数来导航页面

但是当我转到联系人页面然后尝试离开它时,它会将任何href添加到当前的href中,例如...com/?id=contactme?

现在我想知道我应该在这些href中使用绝对链接还是总是推荐

同样,在我的计算机上的测试服务器上测试所有这些意味着将链接更改回本地主机,

任何其他帮助或建议都会很棒

还有一个关于 php 的问题,我可以在屏幕或另一个 div 发生变化的地方使用悬停链接或元素与 php,还是我必须使用 javascript?

4

3 回答 3

1

如果您的所有页面都通过引导程序(即 index.php),那么将您的 href 更改为

<a href="index.php?id=contactme">Contact Us</a>

对于问题的第二部分,您将不得不使用 javascript。研究 jquery,因为它使一些任务更容易。

祝你好运!

于 2012-10-15T20:47:08.070 回答
0

如果您真的想使用这样的前端控制器模式(即一个控制所有页面显示的脚本文件)。我个人认为您最好利用您选择的 Web 服务器的 URL 重写功能(例如 Apache 的 mod_rewrite)来生成所有指向单个控制器文件的干净 URL。因此,例如,您可以拥有最终用户的 URL,例如:

www.domain.com/contactme
www.domain.com/anotherpage
www.domain.com/yetanotherpage

这些都可以由服务器定向到类似的东西:

www.domain.com/index.php?page=contactme
www.domain.com/index.php?page=anotherpage
www.domain.com/index.php?page=yetanotherpage

浏览器仍然在其地址栏中显示原始的“干净” URL。换句话说,网络服务器将请求定向到 index.php 的事实对最终用户是隐藏的。您的 HTML 中的链接也将使用这些“干净”的 URL,从而使您不必担心自己传递实际参数。

您可以在 Apache 上使用的示例.htaccess文件可能如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

这会将所有不是针对实际文件或目录名称的传入请求定向到您的index.php前端控制器。

所以你的 HTML 应该是这样的:

<a href="/contactme">Text</a>

关于悬停元素的样式,您可以使用 CSS:hover伪类来实现许多基本的悬停样式,但是对于大多数现代 Web 应用程序,您最终可能会使用 CSS 和 javascript 的组合。

于 2012-10-15T20:47:40.387 回答
0

为了防止浏览器将当前 URL 添加到您的查询中,您可以使用相对路径,例如

<a href="index.php?id=contactme">

或绝对路径,例如

<a href="/index.php?id=contactme">

绝对路径等于

<a href="http://localhost/index.php?id=contactme">
or
<a href="http://mydomain.com/index.php?id=contactme">
于 2012-10-15T20:59:50.133 回答