【发布时间】: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