Игнорировать директорию magento в GeoIP Htaccess Rewrite - PullRequest
1 голос
/ 15 марта 2012

У меня установлена ​​magento, использующая htaccess mod_geoip для перенаправления людей из определенных стран в другие витрины магазина.Это работает как талисман (после того, как я заставил его игнорировать файлы javascript и skin), но я собираюсь попросить кого-нибудь из Австралии ввести некоторые заказы в бэкэнд magento.

Проблема в том, что они не могут получить доступ к главному бэкэнду в store / index.php / admin (они переписываются в austore / index.php / admin), и когда они идут, чтобы разместить заказы, онипропущены некоторые неотъемлемые компоненты процесса заказа, которые, я думаю, связаны с перезаписью URL-адреса в austore / index.php / admin.Интересно, есть ли способ, которым, если uri запроса является store / index.php / admin, они не будут переписаны.Мой код ниже из моего htaccess:

RewriteRule ^(skin|js) - [L,NC]

RewriteCond %{ENV:GEOIP_COUNTRY_CODE}     ^(AQ|AU|MY|BV|BN|BN|MM|KH|CN|CX|CC|CK|GQ|FJ|PF|GU|GW|HM|HK|ID|KI|KR|KP|KR|LA|MO|MY|MH|FM|MM|NR|NC|PG|NZ|NU|NF|PG|CN|PH|PN|WS|SG|SB|KR|LK|BN|TW|TW|AU|TH|TL|TK|TO|TV|VU|VN|VN|WF)$
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC]
RewriteRule ^ /austore%1 [L,R]

Спасибо за помощь!

1 Ответ

2 голосов
/ 16 марта 2012

Исходя из этого, http://www.sonassi.com/knowledge-base/magento-kb/secure-your-magento-admin/ вы можете использовать ту же логику перезаписи в том, что вы хотите сделать.

RewriteCond %{REQUEST_URI} !^/store/(index.php/)?(admin|custom_extensions_go_here)/ [NC]
RewriteCond %{REQUEST_URI} !^/store/downloader/ [NC]

RewriteCond %{ENV:GEOIP_COUNTRY_CODE}     ^(AQ|AU|MY|BV|BN|BN|MM|KH|CN|CX|CC|CK|GQ|FJ|PF|GU|GW|HM|HK|ID|KI|KR|KP|KR|LA|MO|MY|MH|FM|MM|NR|NC|PG|NZ|NU|NF|PG|CN|PH|PN|WS|SG|SB|KR|LK|BN|TW|TW|AU|TH|TL|TK|TO|TV|VU|VN|VN|WF)$
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC]

RewriteRule ^ /austore%1 [L,R]

Помните, что выполнение этого через .htaccess потенциально может привести кнекоторые странные проблемы в долгосрочной перспективе с сторонними расширениями, у которых есть нестандартные маршруты администратора (без префикса / admin).Так что просто помните об этом.

Я бы рекомендовал использовать расширение Magento (на основе PHP), переключатель магазина mod_geoip - так как тогда вы можете сделать так, чтобы оно применялось только к области внешнего интерфейса магазина Magento (чтобы предотвратитьпотенциальные ошибки, которые я описал выше)

...