该怎么办? .htaccess还是其他什么?

时间:2014-02-20 09:20:18

标签: php .htaccess url

我真的不知道如何正确描述我的问题,但无论如何,这里有: 我想要的是在链接页面时阻止我的一些网址更改。

Fx的:

localhost/intro/index.php 

现在,如果可能的话,“index.php”部分就是我要在所有页面中重命名或隐藏的部分。

我想做的一个例子:

www.cvkweb.dk/wi/doku.php

尝试点击页面上的某些绿色链接,您会发现网址中的“doku.php”部分不会发生变化..

但是我该怎么做? .htacces?

提前感谢你们!

5 个答案:

答案 0 :(得分:0)

您无需触摸服务器配置。

只需链接到您要链接的网址即可。

然后在index.php中编写代码以阅读$_GET并根据查询字符串的值返回不同的内容。

答案 1 :(得分:0)

网址重写无法帮助您。浏览器将始终在地址栏中显示您当前所在页面的URL。您的服务器将根据请求的URL返回数据。因此:page == URL。您无法显示具有相同网址的不同网页。

但是,您可以更改页面客户端的内容,而无需加载新页面。这可以通过在页面中嵌入HTML框架/ iframe,或通过使用Javascript从不同的URL获取内容并将其放在当前页面中来完成。

示例中的页面链接到完全不同的URL,它根据查询参数(?...)区分页面。这是一个不同的URL。 PHP脚本根据它返回不同的内容。根本不涉及URL重写。

答案 2 :(得分:0)

您应该阅读$_GET方法。 PHP $_GET Method

您可以通过URL传递参数,并根据您传递的参数,显示特定内容。

答案 3 :(得分:0)

在所示示例中,它们不会更改请求的页面,因为它们使用同一个页面...想象一下这种结构和代码:

<强>的index.php

<p>Hello world</p>
<a href="index.php?id=1">Go to 1</a>
<a href="index.php?id=2">Go to 2</a> <!-- all the anchors are referring to self -->

<?php if(isset($_GET['id']) && $_GET['id'] == '1'): ?>
    <p> You have opened link number one </p>
<?php endif; ?>
<?php if(isset($_GET['id']) && $_GET['id'] == '2'): ?>
    <p> You have opened link number two </p>
<?php endif; ?>

有条件地通过查询字符串请求,响应受到控制。

我要说的是不好的做法,你最终会得到一个充满代码的单页。即使你确实包括,等等。

你要去的方式可能是网址重写,但不是你想要的方式,而是一些路由会将某些字从网址映射到某些网页。但是,要反转site.com/page/id所指的page.php?id=1

并不是很难

因此完全不知道最终用户请求的页面几乎是不可能的。我建议放弃这个愿望。也许谷歌关于单页应用程序

答案 4 :(得分:0)

你的问题很困惑。 1Index.php`是一种特殊情况 - 它通常被定义为Apache安装的DirectoryIndex配置中的一个选项。但你不是在询问index.php。你没有说你正在使用什么网络服务器。查看您链接的页面,显然是Dokuwiki安装。

有关如何实施网址重写in the Dokuwiki manual

的详细说明