如果您真的想使用这样的前端控制器模式(即一个控制所有页面显示的脚本文件)。我个人认为您最好利用您选择的 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 的组合。