RewriteEngine On
RedirectMatch http://api.fuckedapps.com//app_dl.php?app_id=([0-9])$ http://fuckedapps.com/app_dl.php?app_id=$1
我正在尝试重定向这样的网址:
http://api.fuckedapps.com//app_dl.php?app_id=31
到此:
http://fuckedapps.com/app_dl.php?app_id=$1
答案 0 :(得分:3)
你可以试试这个(抱歉,现在没有Apache在这里运行,因此无法在实时系统上测试):
# Activate Rewrite Engine
RewriteEngine On
RewriteBase /
# Actual rule
RewriteCond %{HTTP_HOST} =api.fuckedapps.com [NC]
RewriteCond ^/?app_dl\.php$ http://fuckedapps.com/app_dl.php [QSA,R=301,L]
我不匹配查询字符串,因为它在两端都是相同的,所以我只是使用QSA
标志来保持不变。
另外 - 考虑在测试期间使用302重定向而不是301(现代浏览器会缓存301重定向,因此当规则更改但浏览器似乎仍在使用旧重定向时,您可能会看到错误的行为)并在您之后更改回301对结果很满意。
我只是不确定原始网址中的//
- Apache / mod_rewrite如何处理它。但它应该可以正常工作。
BTW - 这意味着要放在网站根文件夹中的.htaccess中。如果放在别处,可能需要进行一些修改。