繁体   English   中英

该怎么办? .htacces或其他?

[英]What to do? .htacces or something else?

我真的不知道如何正确地描述我的问题,但是无论如何,这是可行的:我想要做的是防止页面之间链接时某些URL发生变化。

外汇:

localhost/intro/index.php 

现在,“ index.php”部分是我想在我所有页面中尽可能重命名或隐藏的部分。

我想做的一个例子:

www.cvkweb.dk/wi/doku.php

尝试单击页面上的某些绿色链接,您会注意到URL中的“ doku.php”部分没有改变。

但是我该怎么办呢? .htacces?

预先感谢大家!

您无需修改​​服务器配置。

只需链接到您要链接的URL。

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

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

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

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

您应该阅读有关$_GET方法。 PHP $ _GET方法

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

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

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; ?>

根据通过查询字符串请求的内容,有条件地控制响应。

我要说的是不好的做法,您最终只会得到一页充满了代码的页面。 即使您包含,依此类推。

您可能要改写url,但不是您想要的方式,而是一些路由,这些路由会将url中的某些单词映射到某些页面。 但是,反转site.com/page/id所指的page.php?id=1并不难

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

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

Dokuwiki手册中有关于如何实现URL重写的非常详细的说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM