0
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
4

1 回答 1

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结果。

我只是不确定//您的原始 URL - Apache/mod_rewrite 如何准确处理它。但它应该可以正常工作。

顺便说一句 - 这意味着放置在网站根文件夹中的 .htaccess 中。如果放置在其他地方,可能需要进行一些修改。

于 2012-04-17T11:56:19.627 回答