Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Неправильный .htaccess


Recommended Posts

Здравствуйте.

Вот магазин: http://www.shop.erolife.by

вот мой код .htaccess

Options +FollowSymlinks

# Prevent Directoy listing

Options -Indexes

# Prevent Direct Access to files

<FilesMatch "\.tpl">

Order deny,allow

Deny from all

</FilesMatch>

# SEO URL Settings

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]

RewriteCond %{QUERY_STRING} ^route=common/home$

RewriteRule ^index\.php$ http://www.shop.erolife.by? [R=301,L]

AddDefaultCharset UTF-8

- Если зайти на сайт по ссылке с "www." www.shop.erolife.by, то валюта магазина устанавливается в белорусские рубли(что правильно), но если в меню попыться выбрать "Доллар", то ничего не произойдет.

- Если зайти на сайте без "www." shop.erolife.by, то валюта устанвливается в доллары США и при попытке изменить в белорусский рубли смена происходит, но если после этого снова попытаться выставить в доллары, снова ничего не произойдет.

Как подправить .htacccess, чтобы смена валют работала корректно?

Заранее спс

P.S. если не понятно описал, попробуйте просто зайти на сайт и попытаться несколько раз поменять валюту магазина - поймете о чем я

Надіслати
Поділитися на інших сайтах



Options +FollowSymlinks

# Prevent Directoy listing

Options -Indexes

# Prevent Direct Access to files

<FilesMatch "\.tpl">

Order deny,allow

Deny from all

</FilesMatch>

# SEO URL Settings

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]

RewriteCond %{REQUEST_METHOD} ^GET$

RewriteCond %{QUERY_STRING} ^$ [OR]

RewriteCond %{QUERY_STRING} ^route=common/home$ [NC]

RewriteRule ^index\.php$ /? [R=301,L]

AddDefaultCharset UTF-8

Надіслати
Поділитися на інших сайтах

Те правки которые я сделал редиректят не только ссылки

index.php?route=common/home

но и ссылки

index.php

и это нормально когда надо избавиться от таких внешних ссылок, но когда сайт сам генерит такие ссылки - это в чистом виде садо-мазо... Почему не избавляешся от ссылок вида index.php?route=common/home на уровне движка? Ведь это делается одной строчкой в коде...

Надіслати
Поділитися на інших сайтах

Пропишите в файле system/library/response.php это:

if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output);

Прописывать нужно после:

public function output() {

Yesvik, спасибо вам за решение. Как избавиться от остальных ссылок типа:

index.php?route=checkout/cart

index.php?route=account/login

index.php?route=product/manufacturer

и др. Спасибо!

Надіслати
Поділитися на інших сайтах


Yesvik, спасибо вам за решение. Как избавиться от остальных ссылок типа:

index.php?route=checkout/cart

index.php?route=account/login

index.php?route=product/manufacturer

Я выкладывал seopack с кучей прибамбасов для SEO URL. В нем был модуль SEO URL Manager который в том числе и с этими route решал проблемы. Но пакет получился большим и сложным в установке... меня порвали вопросами и я его убрал, решив разделить на несколько частей поменьше. Но SEO URL Manager я хоть и обещал выложить отдельно - так и не выложил из-за нехватки времени, а теперь уже и выкладывать смысла нет - надо переписывать под 1.5
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.