.htaccess 重写规则将/文件夹/子文件夹/文件重写为/?f=文件夹/子文件夹/文件?
非常简单-只是想知道如何重写:.htaccess 重写规则将/文件夹/子文件夹/文件重写为/?f=文件夹/子文件夹/文件?,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,非常简单-只是想知道如何重写: /文件夹/子文件夹/文件 /?f=文件夹/子文件夹/文件 文件夹/子文件夹的数量可能会有所不同,因此我真正想要的是该路径中/之后的任何内容(该路径中尚未包含?f=的内容)重定向到前面添加?f=的路径 如果我加上这个 RewriteRule^(.*)?f=$1[L] 它工作得很好,但不知道URL中已经存在?f=,并在其中使用?f=中断现有链接 有什么想法吗?您可以使用: RewriteCond %{QUERY_STRING} !(?:^|&)f= [NC]
/文件夹/子文件夹/文件
/?f=文件夹/子文件夹/文件
文件夹/子文件夹的数量可能会有所不同,因此我真正想要的是该路径中/之后的任何内容(该路径中尚未包含?f=的内容)重定向到前面添加?f=的路径
如果我加上这个
RewriteRule^(.*)?f=$1[L]
它工作得很好,但不知道URL中已经存在?f=,并在其中使用?f=中断现有链接
有什么想法吗?您可以使用:
RewriteCond %{QUERY_STRING} !(?:^|&)f= [NC]
RewriteRule ^(.*)$ ?f=$1 [L,QSA]
如果f
查询字符串已经存在,则不会执行重写操作。使用[QSA]可以保留其他可能的查询字符串值。可以使用:
RewriteCond %{QUERY_STRING} !(?:^|&)f= [NC]
RewriteRule ^(.*)$ ?f=$1 [L,QSA]
如果f
查询字符串已经存在,则不会执行重写操作。使用[QSA]可以保留其他可能的查询字符串值。尝试以下操作:
RewriteEngine On
RewriteRule ^(.[^\?]*)$ /?f=$1 [L]
试试这个:
RewriteEngine On
RewriteRule ^(.[^\?]*)$ /?f=$1 [L]