在 .htaccess 文件中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} =sdmon=software_download/software1.exe
RewriteRule ^index.php$ http://download.domain.com/software1.exe? [L,R=301]
RewriteCond %{QUERY_STRING} =sdmon=software_download/software2.exe
RewriteRule ^index.php$ http://download.domain.com/software2.exe? [L,R=301]
</IfModule>
这些规则重定向http:www.domain.com/index.php?sdmon=software_download/software1.exe
至http:www.domain.com/software1.exe
....
我的问题是:如何将两组规则合并为一组。
答案1
尝试这个:
RewriteCond %{QUERY_STRING} ^sdmon=software_download/software(\d+)\.exe$
RewriteRule ^index.php$ http://download.domain.com/software%1.exe? [L,R=301]
software1
这对、software5600
以及介于 之间的任何其他地方都有效。
编辑:
对于任何 exe 名称,请尝试以下操作:
RewriteCond %{QUERY_STRING} ^sdmon=software_download/([^/\.]+)\.exe$
RewriteRule ^index.php$ http://download.domain.com/%1.exe? [L,R=301]