我需要使用 .htaccess 将 mydomain.net/g/0/1/ 重定向到 /glink.html?LinkId=/0/1/ 并将 mydomain.net/g/a/4/ 重定向到 /glink.html?LinkId =/a/4/...等。仅当路径以/g/开头时?如何在 .htaccess 文件中执行此操作?
您只需实现一个重定向规则,捕获以“g/”开头的任何请求的路径,并继续执行由斜杠分隔的两个数字组成的序列。您捕获前导“g/”后面的任何内容并将其转换为 get 参数。
你会在 SO 上找到很多很多这样的例子。您尝试过其中任何一个吗?这是另一张:
RewriteEngine on
RewriteRule ^/?g/(\d+/\d+/.*)$ to /glink.html?LinkId=$1 [QSA,L]
实施此类规则的最佳位置是在 http 服务器的虚拟主机主机部分的中央配置中。如果您无权访问该文件,则可以使用distributed配置文件(通常称为“.htaccess”),尽管这有很多缺点。请记住,您需要首先启用此类文件的解释(请参阅文档中的
AllowOverride
指令),并注意将文件放置在配置为该虚拟主机的 DocumentRoot
的文件夹中,并且可以由http 服务器进程。