【问题标题】:how to mask a domain in php如何在php中屏蔽一个域
【发布时间】:2012-11-26 12:56:24
【问题描述】:

我有一个 php 网站。有一个域示例http://www.mydomain.com/clubs.php 我想将它添加到http://www.mydomain.com/groups.php 并且地址的其余部分将保持不变。可能吗。

请指导我如何实现它..

【问题讨论】:

  • 你说的“面具”是什么意思?
  • 如果有人打开网站 club.php 它应该在地址栏中显示为 groups.php。
  • 喜欢从clubs.php转发到groups.php?
  • 是的,就像转发一样正确,但它希望它应该在地址栏中显示 group.php 它不应该显示 clubs.php
  • 关键字:URL 重写。去谷歌上查询。这与“域”无关。

标签: php .htaccess mod-rewrite


【解决方案1】:

您可以创建一个名为 groups.php 的新文件并在其中包含 clubs.php
或者您可以通过.htaccess 文件使用mod_rewrite

包括文件使用:

<?php include_once 'clubs.php'; ?>

用于重写使用并在RewriteEngine On行之后添加:

RewriteRule ^groups.php$ clubs.php [L]

希望我已经理解你在用 mask 谈论什么。

【讨论】:

  • 是的,我创建了一个新文件,但如果我打开 clubs.php 中的链接,它不会打开。我希望它不与.htaccess 一起使用。你能指导我如何实现它。
  • 你能提供clubs.php的内容吗?
  • 除非您想更改所有链接,否则别无他法。 .htaccess 或创建一些变量 $link = "where_it_should_go.php" 并在 clubs.php 中为其分配您需要的值
  • 如果您有类似&lt;a href="clubs.php?foo=bar"&gt; 的链接,您可以将其更改为:&lt;a href="?foo=bar"&gt;,这样文件名就不会设置并且可以使用。
  • 在没有更多信息的情况下帮助您有点困难,您至少可以提供一个无效链接吗?
【解决方案2】:

如果我理解正确,那么你需要使用 apache 指令 URLRewrite (mod_rewrite)。去谷歌上查询。这里解释起来很复杂,但基本上在 .htaccess 文件中添加几行代码,并且您的网络服务器必须支持它。有些出于安全原因不支持。如果服务器由您管理,那么您可以在 httpd.conf 文件的 VirtualHost 指令中轻松修改它。

格言

【讨论】:

  • 我也是这么想的,但是从它开始很难。任何帮助如何使用这个?是软件吗?
  • 它是您的网络服务器。您的 PHP 在网络服务器上运行。所以 mod_rewrite 对网络服务器来说是一个指令,一个命令。如果您这样做,您的页面将在浏览器中显示与其内部使用的页面不同的页面。包含和变量的其他方法是解决方法,但它们很棘手,很容易搞砸。您最终可能会花更多时间在页面中修改代码,而不是学习 apache 指令 mod_rewrite。最后一点也不难……
  • 供您参考。我正在使用 phpbb 论坛。你能指导一下吗?请
【解决方案3】:

【讨论】:

  • 您使用的是核心 php。所以你需要通过创建一个 htaccess 文件来使用 apache 指令 URLRewrite (mod_rewrite)。
  • 我已经在我的 ftp 中创建了 htaccess 文件,它是为其他人创建的。我只需要输入代码..我不知道哪个代码和我们..
【解决方案4】:

您不能“屏蔽”域或 URL。链接指向某个 URL。该 URL 是浏览器找到它应该向其发送请求并发出请求的服务器所必需的。浏览器会将请求发送到该 URL,并将在地址栏中显示它发送请求的 URL。您不能让它向一个 URL 发送请求,而是让它显示不同的 URL。

您可以让您的网络服务器以任何您想要的方式响应该 URL/请求。仅仅因为请求说“clubs.php”并不意味着网络服务器将执行一个名为“clubs.php”的文件,或者它必须执行一些PHP文件。这可以在网络服务器本身中进行定制,通常通过 Apache 中的 URL 重写。这一切都只是网络服务器的内部,但是它配置了您的网络服务器如何响应对某个 URL 的传入请求;它不会“屏蔽” URL。

如果您有指向“clubs.php”的链接,但您希望它们指向“groups.php”,则必须更改您的链接。没办法。

可以 重定向对“clubs.php”的所有请求到“groups.php”。即,当您的网络服务器收到对“clubs.php”的请求时,它会通过告诉客户端请求“groups.php”来响应客户端。这是一个重定向。它仍然会让你的链接指向“clubs.php”。

【讨论】:

  • 如果我更改所有文件中的所有名称???就像每个俱乐部都在那里,我将用组替换它??
  • 是的。如果您希望您的 URL 以某种方式出现,则必须以某种方式链接它们。使用体面的文本编辑器的搜索和替换工具应该不会太难。下一次,尽管这对你来说可能有点高级:为了保持你的 URL 模式灵活,你可以/应该使用像 github.com/deceze/Kunststube-Router 这样的路由器/反向路由器(无耻的自我宣传)。请务必阅读github.com/deceze/…github.com/deceze/Kunststube-Router#reverse-routing
  • 它是一个 phpbb 模组,我想我会用记事本 ++ 替换成组,然后我会再次安装它会起作用 ??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
  • 2018-02-16
  • 2018-03-13
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多