2017-06-30 222 views
0

非常简单 - 只是想知道我改写这个:RewriteRule重写/文件夹/子文件夹/文件到/?f =文件夹/子文件夹/文件?

/folder/subfolder/file

/?f=folder/subfolder/file

和文件夹的数量和/ subfolders可能会有所不同,所以我真的希望之后的事情/在这条道路(它还没有?f =)重定向到前面添加了?f =的路径。

如果我添加此

RewriteRule ^(.*)$ ?f=$1 [L]

它工作得很好,但不承认?F的存在=在URL已经和现有的链接与休息?F =在那里。

任何想法?

回答

2

您可以使用:

RewriteCond %{QUERY_STRING} !(?:^|&)f= [NC] 
RewriteRule ^(.*)$ ?f=$1 [L,QSA] 

哪些不做改写如果f查询字符串已经存在。
使用[QSA],您可以保留其他可能的查询字符串值。

+1

就是这样,谢谢! –

1

试试这个:

RewriteEngine On 
RewriteRule ^(.[^\?]*)$ /?f=$1 [L]