在当前文件夹中开始 URL 重写



我在域的子目录中有一个网站 (example.com/folder)

在这个文件夹中,我有一个带有此代码的 .htaccess

RewriteEngine On 
RewriteRule . index.php

当我对此http://www.example.com/folder/example/request发出请求时,我的$_SERVER['REQUEST_URI']设置为 /folder/example/request .

我怎样才能强制 apache 不将/folder/放入request_uri变量中。

既然你正在处理$_SERVER['REQUEST_URI']你已经在PHP中了。如果/folder存在,为什么不直接剥离呢?

顺便说一下,不要直接修改$_SERVER['REQUEST_URI'],复制它,修改它,并将其传递给任何需要它的函数。

PHP 在操作字符串方面比 Apache 好得多。

你可以像这样制定规则:

RewriteEngine On
RewriteBase /folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [L,QSA]

并使用具有价值的$_GET['url']example/request

最新更新