2011-04-20 39 views
0

我一直在试图解决这个问题一段时间。我成功地将两位数子文件夹(即语言文件夹)中的所有网址引回主网站。所以,我有这些像这样的URL:使用HTaccess为一些字符串匹配URL但不是其他字符

RedirectMatch 301 /../(.*)index.php(.*)$ http://www.mysite.com/ $1

这都很正常,直到最近:

http://www.mysite.com/de/index.php&option=com_virtuemart&page=shop.browse&category_id=&product_type_id=1&product_type_1...etc

使用此HTacess线将

http://www.mysite.com/index.php&option=com_virtuemart&page=shop.browse&category_id=&product_type_id=1&product_type_1...etc

当我添加了一个以index.php开头的url的联盟系统,我想使该组件免于重写规则。

总结,我希望能够创建一个匹配的网址如下规则或比赛:

http://www.mysite.com/de/index.php&option=com_virtuemart&page=shop.browse&category_id=&product_type_id=1&product_type_1...etc

但不匹配像URL:

http://www.mysite.com/de/index.php?option=com_affiliatehttp://www.mysite.com/de/index.php?option=com_affiliate&sec=banners

感谢您的阅读时间。蚂蚁。

这里是我的.htaccess文件的链接:http://www.seed-city.com/htaccess.txt

回答

0

使用mod_rewrite你可以做到以下几点:

RewriteEngine On 
RewriteCond %{QUERY_STRING} !option=com_affiliate 
RewriteRule [a-zA-Z]{2}\/(.*)$ /$1 [L] 

希望有所帮助。

+0

嗨,谢谢你的回应。我将它添加到我的htaccess文件中,但是我唯一能看到的结果是我的图片没有加载。我编辑了我的问题以显示我的完整htaccess文件。如果我正确地理解了你的规则,那么除了option = com_affiliate之外,是不是除了删除lang文件夹以外的所有查询,有没有一种方法可以说是重定向index.php&option = com_virtuemart&page = shop.browse&category_id =&product_type_id = 1&product_type_1 ... etc'但不是'http://www.mysite.com/de/index.php?option = com_affiliate&sec = banners'命令对于您的规则的位置是否重要?再次感谢。 – Natastna2 2011-04-20 17:04:48

+0

@clmarquart你可以在上面看到我的htaccess文件?它的位置对它的工作很重要吗?谢谢。 – Natastna2 2011-04-20 21:22:26

+0

订单绝对重要。我所提供的将会将所有非'com_affiliate'链接重定向到一个语言文件夹(即'/ de /')到根目录。从你的第一个评论,你是说你的网址没有标准的??查询字符串?并且他们从index.php后面的'&开始? – clmarquart 2011-04-21 00:28:43

相关问题