0

我不想重定向以下 URL:

1. 从:http ://www.example.com/tr/component/content/article?id= 11 到:http ://www.example.com/services/terms/

2. 从:http ://www.example.com/tr/component/content/article?id= 45 到:http ://www.example.com/services/cars/

我有以下代码:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{QUERY_STRING} id=11
RewriteRule (.*) http://www.example.com/services/terms/? [R=301,L]

RewriteCond %{QUERY_STRING} id=45
RewriteRule (.*) http://www.example.com/services/cars/? [R=301,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
</IfModule>

但是使用上面的代码,我可以编写以下内容 - 并最终出现在“条款”页面:

http://example.com?id=11

这是错误的。我应该改变什么?

4

1 回答 1

1

确保没有其他重定向来源。

我刚刚将你粘贴.htaccess到我的 Apache 中,一切都按照你想要的方式工作。

编辑:根据您的评论,您可以将(.*)规则替换为您希望重定向工作的 URL 的基础:

RewriteCond %{QUERY_STRING} id=11
RewriteRule /?tr/component/content/article(.*) http://www.example.com/services/terms/? [R=301,L]

RewriteCond %{QUERY_STRING} id=45
RewriteRule /?tr/component/content/article(.*) http://www.example.com/services/cars/? [R=301,L]
于 2013-07-05T06:45:30.123 回答