【问题标题】:PHP URL Path needs to be different from Folder PathPHP URL 路径需要与文件夹路径不同
【发布时间】:2017-12-23 00:24:35
【问题描述】:

使用php有没有办法走这条路

Path: /abc/def/files/websitedomain/from/this/folder/(mynewpages.php location)

并在此处重定向

Path: /abc/def/files/www/com/(index.php location)

所以我的结果是

website.com/mynewpages

这是我目前唯一可用的选项。我正在工作的网站是一次非常有趣的经历。

编辑:提供的解决方案都没有解决我的问题。然而,你们都让我思考。我能够通过 PHP 访问 .htaccess 文件

<?php
    $myfile = fopen(".htaccess", "w") or die("Unable to open file!");
    $txt = " copied text + Hello World ";
    fwrite($myfile, $txt);
    fclose($myfile);
?>

那行得通。现在我只需要最好的方法将我的路径需求写入.htaccess。

【问题讨论】:

  • 使用 .htaccess 进行重定向
  • 如果你只想重定向header('LOCATION:yourLocationHere'); die;
  • 我很想使用 .htaccess。如前所述,这是我目前唯一的选择。我试图保持积极态度,而不是去侮辱开发者。 :)
  • 你在mynewpages.php 中尝试过@PHPglue 的建议吗?另一件可能有效(从未使用过)的事情是页面 HTML 中的元重定向标记。
  • @CMiller 它会引发 404 错误。我至少在尝试更多地了解它。

标签: php url redirect


【解决方案1】:

要在 DocumentRoot 之外重定向,您需要使用 mod_rewrite 或等效项。通过 PHP 包含执行此操作是不安全的,并且 HTTP 重定向(位置标头)将不起作用。

如果您使用的是 Apache,它看起来像这样(但问题不够清楚,无法给出具体细节):

<VirtualHost 80>
    DocumentRoot "/abc/def/files/websitedomain"
    ... 
    <Directory "/abc/def/files/websitedomain/from/this/folder">
        RewriteEngine On
        RewriteRule "^/abc/def/files/websitedomain/from/this/folder/(.*)$" "/abc/def/files/www/com/$1"
    </Directory>
</VirtualHost>

【讨论】:

  • 你能举个例子吗?我的 php 知识真的在 atm 得到考验。
  • @Straughnhold mod_rewrite 是 Apache 服务器的一部分,与 PHP 无关。
  • 啊,我就是这么想的。我误读了你的信息:)。唯一的其他可能性是使用 AJAX 或 JSON,但我对这两种方法都没有任何经验,不知道这是否可能。
猜你喜欢
  • 2012-05-25
  • 2018-12-02
  • 1970-01-01
  • 2013-10-10
  • 2014-09-05
  • 1970-01-01
  • 2020-06-17
  • 2014-03-06
  • 2021-10-18
相关资源
最近更新 更多