我已经看过很多关于这个主题的文章,但我似乎无法让这件事像我想要的那样工作......
我有这个.htaccess
文件:
RewriteEngine on
RewriteRule ^([^/]+)/$ $1.php
一切似乎都很好。例如,当我去的时候
localhost/website
内容来自
localhost/website/index.php
被显示。这是意料之中的。我的链接在 PHP 中的变量中,如下所示:
$home = 'index/'
$contact = 'contact/'
等等等等……
然后我转到其他链接,点击一下,然后点击主页链接,现在的 URL 是这样的:
localhost/website/index/
这是我的href
观点,所以它是意料之中的......但我真的希望它是:
localhost/website
那么我如何使用变量$home = '';
而不是$home = index/';
得到我想要的呢?我觉得我错过了应该放在.htaccess
文件中的东西。
我想我还应该提到我的导航工作方式是我有一个 PHP 循环来检查当前页面,以保持其图形突出显示而不是不突出显示。
此循环检查页面变量,例如$home
, $contact
,如果它们等于充满页面变量的数组中的键值,则它使用突出显示的链接集:这具有您所在页面的浅色效果纽扣。
这里的问题是,对于索引页面,我正在使用'index/'
但我想使用''
,但这似乎不起作用。它在条件检查时有效,'index/'
但在检查空字符串 ( ''
) 时无效。
编辑
以下是一些可能对我的案例有所帮助的附加代码片段:
// Navigation links
$home = '';
$contact_us = 'contact/';
// Button array
$page_nav_lt = array(
$home => $home_but_lt,
$contact_us => $contact_but_lt
);
// Loop conditional (it's _alt below because it's a function in a class)
if ($current_page == $key) {
$menu_output .= $image_dir . $ds . $page_nav_alt[$key];
$menu_output .= '" id="alt" class="data-id-yes';
}