首先,我只想将另一个文件夹用作默认的htdocs
目录。
为此,我将这些行添加到httpd.conf
:
AliasMatch ^/php/(.+)$ F:/PHP/$1
<Directory "F:/PHP/*">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
我遇到的问题是我为前htdocs
设置的网址重写功能无法正常工作。为了进行重写,我在RewriteRule
文件中使用了.htaccess
指令:
RewriteRule ^((?:(user|admin|debug)/)?[a-z_/]+)/(?:([0-9]+)/)?$ index.php?page=$1&auth=$2&id=$3
...位于&#34; F:/ PHP / lif-web-interface /&#34;在我的驱动器上。
我想要显示的网址如下:
http://127.0.0.1/php/lif-web-interface/factionlist/
如果它已正确执行,我会看到一个重写的URL,其末尾有收集的GET参数。当我尝试添加[R]
参数时,我的输出变为以下内容:
http://127.0.0.1/F:/PHP/lif-web-interface/index.php?page=factionlist&auth=&id=
......令人惊讶的是,这是我想看的东西。但是,我并不想重定向到该页面,我只是想替换这个网址。
你有什么建议吗?
答案 0 :(得分:0)
我假设您已将这些规则放在F:/PHP
文件夹中的htaccess文件中。如果是这样,那么尝试添加基数:
RewriteBase /php/
RewriteRule ^((?:(user|admin|debug)/)?[a-z_/]+)/(?:([0-9]+)/)?$ index.php?page=$1&auth=$2&id=$3
如果规则在文档根目录中,则需要包含路径:
RewriteRule ^php/((?:(user|admin|debug)/)?[a-z_/]+)/(?:([0-9]+)/)?$ /php/index.php?page=$1&auth=$2&id=$3