Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\u无需使用?页面即可获得导航=_Php_Html - Fatal编程技术网

Php $\u无需使用?页面即可获得导航=

Php $\u无需使用?页面即可获得导航=,php,html,Php,Html,解决了 首先,我知道我可以使用“?page=…”但我不喜欢URL中的那个变量。现在,经过一些搜索,我发现一个网站使用了$_GET['page'],而没有在url中显示“?”page= 但是我对代码有点纠结。我似乎无法使此代码正常工作。我知道它可以在其他网站上使用,但不能在我的网站上使用。我似乎无法在其他网站上找到它的工作原理 这是菜单代码: <li><a href="index.php">Home</a></li> <li><a

解决了

首先,我知道我可以使用“?page=…”但我不喜欢URL中的那个变量。现在,经过一些搜索,我发现一个网站使用了$_GET['page'],而没有在url中显示“?”page=

但是我对代码有点纠结。我似乎无法使此代码正常工作。我知道它可以在其他网站上使用,但不能在我的网站上使用。我似乎无法在其他网站上找到它的工作原理

这是菜单代码:

<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]
,因为这意味着
结束
,它将停止重写。