用 .htaccess 重写路径变量
Rewrite Path Variable with .htaccess
我正在创建需要与一些 PC 软件通信的程序。当 PC 软件调用脚本 int 需要包含服务器上文件的用户名和相对路径时 PHP 需要读取。
这是 PHP 在 get.php:
$Username = $_GET['Username'];
$RelativePath = $_GET['Path'];
未重写 URL 看起来像这样:
http://localhost/get.php?Username=C8WgtdmAytNhGcq&Path=folder/Test.txt
现在我想改写成:
但是我遇到了问题,因为路径包含斜杠。
如何用路径中的多个文件夹重写它?
您可以在站点根目录 .htaccess 中使用此规则:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^get/([^/]+)/(.+)$ get.php?Username=&Path= [L,QSA,NC]
.+
将匹配 1 个或多个任意字符,包括 /
我正在创建需要与一些 PC 软件通信的程序。当 PC 软件调用脚本 int 需要包含服务器上文件的用户名和相对路径时 PHP 需要读取。
这是 PHP 在 get.php:
$Username = $_GET['Username'];
$RelativePath = $_GET['Path'];
未重写 URL 看起来像这样:
http://localhost/get.php?Username=C8WgtdmAytNhGcq&Path=folder/Test.txt
现在我想改写成:
但是我遇到了问题,因为路径包含斜杠。
如何用路径中的多个文件夹重写它?
您可以在站点根目录 .htaccess 中使用此规则:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^get/([^/]+)/(.+)$ get.php?Username=&Path= [L,QSA,NC]
.+
将匹配 1 个或多个任意字符,包括 /