Php $\u无需使用?页面即可获得导航=
解决了强> 首先,我知道我可以使用“?page=…”但我不喜欢URL中的那个变量。现在,经过一些搜索,我发现一个网站使用了$_GET['page'],而没有在url中显示“?”page= 但是我对代码有点纠结。我似乎无法使此代码正常工作。我知道它可以在其他网站上使用,但不能在我的网站上使用。我似乎无法在其他网站上找到它的工作原理 这是菜单代码:Php $\u无需使用?页面即可获得导航=,php,html,Php,Html,解决了 首先,我知道我可以使用“?page=…”但我不喜欢URL中的那个变量。现在,经过一些搜索,我发现一个网站使用了$_GET['page'],而没有在url中显示“?”page= 但是我对代码有点纠结。我似乎无法使此代码正常工作。我知道它可以在其他网站上使用,但不能在我的网站上使用。我似乎无法在其他网站上找到它的工作原理 这是菜单代码: <li><a href="index.php">Home</a></li> <li><a
<li><a href="index.php">Home</a></li>
<li><a href="even_voorstellen">Even voorstellen</a></li>
<li><a href="de_kennismaking">De kennismaking</a></li>
我不明白这个代码是怎么工作的。在我的网站中,“$GET['pagina']”从未填充,这是合乎逻辑的。但是如何在其他网站上填写呢
谢谢大家!
解决方案:
将以下内容添加到.htaccess文件中:
$sExpressie = "(http:|ftp:|shttp:|www.|.php|.pl|.cgi|.asp|index.php)";
if(isset($_GET['pagina']) && eregi($sExpressie,$_GET['pagina']))
{
include("pages/home.php");
}
else
{
if(isset($_GET['pagina']) && file_exists('Pages/' . $_GET['pagina'] . ".php"))
{
include('pages/' . $_GET['pagina'] . ".php");
}
else
{
include("pages/home.php");
}
}
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)/?$ pages/$1.php [NC,L]
您可以在.htaccess文件中使用
重写规则
例如:
RewriteEngine On
RewriteRule ^/(.*)$ index.php?pagina=$1 [L, QSA] #(.*) is lazy and you may want to just catch [a-z0-9].
这将把请求“重写”为。然后,您的index.php
可以使用$\u GET['pagina']
调用相应的页面
您需要将以下内容添加到.htaccess文件中:
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)/?$ pages/$1.php [NC,L]
例如,如果您现在导航到,您的网站将加载位于pages/fubar.php的页面,而不更改URL。请阅读。htaccess
,正如@AbraCadaver所说,.htaccess是您想要的,但当您使用时:ereg
和eregi
是不受欢迎的(并且已经有很多年了),使用preg*
而不是WordPress这样工作,你可能会看到。所以,RewriteRule^([A-Za-z0-9\-]+)/?$index.php?pagina=$1[L]RewriteRule^([A-Za-z0-9\]+)/([A-Za-z0-9\]/?$index.php?pagina=$2&id=$1[L]据我所知,我所寻找的是对的吗?:)是的,但我不确定URL中的id
是什么。您需要删除第一条规则中的[L]
,因为这意味着结束
,它将停止重写。