Сопоставьте URL-адреса с HTaccess для некоторых строк, но не для других - PullRequest
0 голосов
/ 20 апреля 2011

Я уже некоторое время пытаюсь разобраться с этой проблемой. Мне удалось отослать все URL-адреса из двухзначной подпапки (то есть языковых папок) обратно на основной сайт. Вот такой вот URL:

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

собирается

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

используя эту строку HTacess:

RedirectMatch 301 /../(.*)index.php(.*)$ <a href="http://www.mysite.com/" rel="nofollow">http://www.mysite.com/</a>$1

Это было хорошо до недавнего времени, когда я добавил партнерскую систему, URL-адреса которой начинаются с 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_affiliate а также http://www.mysite.com/de/index.php?option=com_affiliate&sec=banners

Спасибо, что уделили время на прочтение этого. Муравей.

Вот ссылка на мой файл HTaccess: http://www.seed -city.com / htaccess.txt

1 Ответ

0 голосов
/ 20 апреля 2011

Используя mod_rewrite, вы можете сделать следующее:

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

Надеюсь, что поможет.

...