将Querystring重写为File

时间:2014-12-06 16:33:32

标签: .htaccess query-string

我使用wget将我们的Basecamp安装镜像到Google Cloud Disk。创建的许多页面都使用以下文件名:

文件

files.html?page=4
files.html?page=5
files.html?page=6
files.html?page=7
files.html?page=8
files.html?page=9

索引

log?n=0

我们能够使用log%3fn=0解决索引问题:

DirectoryIndex index.html index.htm log%3fn=0 log report new_more new

我想知道是否有办法在.htaccess中添加重写

000.000.000.000/projects/11424851-m-domain-com/files.html?page=2

解析为包含查询字符串的文件名。

我认为重写必须产生:

000.000.000.000/projects/11424851-m-domain-com/files.html%3fnpage=2

感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^(.*)$ %{REQUEST_URI}\%3Fnpage=%1? [L]

即。匹配以page=开头的查询字符串,并使用转义形式附加的查询字符串重定向到相同的文件名。