【问题标题】:Remove folder names from the URL using htaccess使用 htaccess 从 URL 中删除文件夹名称
【发布时间】:2016-04-13 06:01:58
【问题描述】:

我被 htaccess 困在这里。我搜索并尝试了许多教程和问题解决方案,但无法实现我想要的。

我想从网站链接中删除文件夹名称。我的 htaccess 文件位于根目录中,即“testing”

我的链接是什么样子的:

http://localhost/testing/sub/test.php

我想要什么:

http://localhost/test.php

以下是我的 htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*) /testing/sub/$1    [L]

【问题讨论】:

  • "我的 htaccess 文件在根目录中,即 'testing'" - 这有点误导,因为 testing 似乎是根目录之外的子目录。 /testing/sub/test.php 是您的实际文件位置吗?在这种情况下,您的链接实际上应该看起来像/test.php,而不是您所说的/testing/sub/test.php。只有这样你才能在内部将请求重写回/testing/sub/test.php(这是你的代码试图做的)。
  • 是的。 “xampp/testing/sub/test.php”是我的文件位置。我希望我的网址看起来像“localhost/test”
  • 那么首先要做的是更改应用程序中的 URL。这不是您在 .htaccess 中所做的事情(除非您需要更正索引或链接到 URL)。当 URL “看起来”符合您的要求时,然后使用 .htaccess 在内部将请求重写为真实 URL。
  • 首先你说你希望 URL 是 localhost/test.php,然后你说你希望它是 localhost/test。是哪一个?
  • localhost/test.php 可以用str_replace替换url段吗?

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

在你的根目录.htaccess 中使用这一行

重写规则 ^test.php$ /testing/sub/test.php

【讨论】:

    【解决方案2】:

    最好的方法是转到包含您网站的所有文件的文件夹。例如,如果文件夹名为“site1”,请从您的 cpanel 将所有文件复制到您的 Public_html 文件夹中

    一种方法是,一旦您找到包含站点文件的文件夹并查看它们, 单击全选以选择所有文件,或者如果您没有看到全选 单击应突出显示的文件夹中的第一个文件 然后向下滚动到文件夹的最后一个文件 按键盘上的 shift 按钮并单击最后一个文件 现在应该突出显示所有内容。 如果不重复该过程 直到所有内容都突出显示。

    右击 然后点击复制

    在底部的小弹出窗口中 您应该看到将文件复制到 确保要将文件复制到的文件夹是 /public_html 然后点击弹出窗口右下角的复制文件按钮。

    您的所有文件现在都应该在 pulic_html 文件夹中 您现在需要更改您的 configuration.php 文件 右键单击并在弹出窗口打开后单击编辑再次单击编辑 它应该在您的浏览器中打开 查找代码行:

    公开 $live_site = 'http://vivendishop.com';

    如果您的域名有 / 文件夹 删除并保存

    应该可以,希望有效 给你

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2015-06-23
      • 2015-07-27
      • 1970-01-01
      相关资源
      最近更新 更多