smind

Simple URL v1.0 (SEO-URL)

Рекомендуемые сообщения

smind    17

Включил у себя SEO-URL, но кое где пробивались сылки вида ...index.php/route... порывшись на opencart.com нашел Simple URL v1.0 установил. Теперь все ссылки стали в нормальном ЧПУ виде. правда есть маленький "косячок" ссылки в /admin/ тоже заменялись из-за чего бэкэнд не работал. но этота проблема легко обходится вот таким патчем.

-if ($registry->get('config')->get('config_seo_url')) {
+if ($registry->get('config')->get('config_seo_url') and ! preg_match('/\/admin\//', $this->output)) {

надеюсь многим будет полезно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ritter    33


-if ($registry->get('config')->get('config_seo_url')) {

+if ($registry->get('config')->get('config_seo_url') and ! preg_match('/\/admin\//', $this->output)) {

И что это за непонятный код?))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
trance    75

-if ($registry->get('config')->get('config_seo_url')) {
+if ($registry->get('config')->get('config_seo_url') and ! preg_match('/\/admin\//', $this->output)) {
И что это за непонятный код?))
Все понятно, Добавить строчку

if ($registry->get('config')->get('config_seo_url') and ! preg_match('/\/admin\//', $this->output)) {

после

if ($registry->get('config')->get('config_seo_url'))

и потом не забыть "закрыть"

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

вобще-то - заменить строку "-" на строку "+"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smallbear    79

а как оно должно работать?его где-нибудь включать нужно?

вроде закинул , модуь нигде не появился , ссылкам псевдоним автоматом не прописывает..

файл .htaccess нужно в txt формате оставлять или нет?

он должен так выглядеть?

# SEO URL Settings

RewriteEngine On
RewriteBase /папка с сайтом/

# This will prevent redirect loop for the below three RewriteRule.
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

# E.g external redirect /index.php?route=common/home to /common/home
# X-Requested-With (http header created by jQuery.load()) prevent this rule from AJAX request E.g Get product/product/review when open product details.
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)$ [NC]
RewriteRule ^index\.php %1/? [R=301,L]

# E.g external redirect /index.php?route=product/product&product_id=8 to /product/product?product_id=8
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)\&(.*)$ [NC]
RewriteRule ^index\.php %1/?%2 [R=301,L]

# E.g internal redirect /common/home to /index.php?route=common/home
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)/$|^([^?]*)$ index.php?_route_=$1$2 [L,QSA]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
smind    17

а как оно должно работать?его где-нибудь включать нужно?

да включить нужно в Настройках на закладке Сервер "Использование SEO-url"

и .htaccess как в примере

файл .htaccess нужно в txt формате оставлять или нет?

у меня без расширения txt

он должен так выглядеть?

у меня такой

Options +FollowSymlinks

# Запретить листинг директорий
Options -Indexes

AddType application/x-httpd-php .phtml
AddHandler application/x-httpd-php .phtml

# Закрыть доступ к файлам шаблонов
<FilesMatch "\.tpl">
Order deny,allow
Deny from all
</FilesMatch>

# Необходимо для ЧПУ.
RewriteEngine On
RewriteBase /

# This will prevent redirect loop for the below three RewriteRule.
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

# E.g external redirect /index.php?route=common/home to /common/home
# X-Requested-With (http header created by jQuery.load()) prevent this rule from AJAX request E.g Get product/product/review when open product details.
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)$ [NC]
RewriteRule ^index\.php %1/? [R=301,L]

# E.g external redirect /index.php?route=product/product&product_id=8 to /product/product?product_id=8
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest [NC]
RewriteCond %{QUERY_STRING} ^route=([a-z-_/]+)\&(.*)$ [NC]
RewriteRule ^index\.php %1/?%2 [R=301,L]

# E.g internal redirect /common/home to /index.php?route=common/home
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)/$|^([^?]*)$ index.php?_route_=$1$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)/$|^([^?]*)$ admin/index.php?_route_=$1$2 [L,QSA]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smallbear    79

да включить нужно в Настройках на закладке Сервер "Использование SEO-url"

и .htaccess как в примере

ну это понятно,я имел ввиду должен ли появится сам модуль в админке разделе дополнения-модули.

как вообще понять что модуль нормально установился?

у меня без расширения txt

у меня впринципи тоже , но пробовал и оставить с тхт,но не помогло.

Скорее всего проблема у меня в самом тексте фала htacces.

Пока поставил вот этот модуль,он нормально интегрируется в админку и генерирует псевдонимы без цифр.Единственный минус он перезаписывает уже существующие псевдонимы.

https://opencartforum.com/topic/2175-помогите-немного-переделать-модуль-auto-seo-v04/

А ваш модуль тоже перезаписывает все псевдонимы или просто добавляет туда где их нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ridic    0

Всё сделал как написано. URL-ы стали заметно красивее. Единственно что не нравится знак вопроса в конце названия url, например, http://site.ru/common/home?

Что нужно прописать и где, чтобы убрать эти вопросы? Подозреваю, что .htaccess требует правок...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smallbear    79

Вот на сайте, который в качестве примера рассматривается здесь, такая же история: http://www.kay-i-gerda.ru/common/home?

чтобы сделать путь site.com на главную и путь который ведет с логотипа на главную в файле шаблоне header.tpl замените $home на $base мне это помогло,хотя у меня вопросов изначально в конце не было,а как на страницах аккаунта убрать этот вопрос не знаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Icebergie    1

Теперь вообще не могу попасть в админку, выкидывает ошибку.

Подскажите

-if ($registry->get('config')->get('config_seo_url')) {
+if ($registry->get('config')->get('config_seo_url') and ! preg_match('/\/admin\//', $this->output)) {
в какой именно файл прописывать?

Разобрался, в файл response.php.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kdimon    1

Всё сделал как написано. URL-ы стали заметно красивее. Единственно что не нравится знак вопроса в конце названия url, например, http://site.ru/common/home?

Что нужно прописать и где, чтобы убрать эти вопросы? Подозреваю, что .htaccess требует правок...

Вот на сайте, который в качестве примера рассматривается здесь, такая же история: http://www.kay-i-gerda.ru/common/home?

Вопросы в осле и мазиле, в опере нету. Чтоб осел с мазилой не рисовали вопросы, в файле response.php заменить следущую строку:

$ouput = preg_replace('/index\.php\?route=([-a-z0-9_.\/]*+)(?:(\&|\&)([-a-z0-9+&@\/%=_.] +))?/i', '${1}?${3}', $this->output);

на:

$ouput = preg_replace('/index\.php\?route=([-a-z0-9_.\/]*+)(?:(\&|\&)([-a-z0-9+&@\/%=_.] +))?/i', '${1}${3}', $this->output);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MaZI    12

мне кажется поиск не работает нормально в данном моде

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
traffs    1

Всё сделал как написано. URL-ы стали заметно красивее. Единственно что не нравится знак вопроса в конце названия url, например, http://site.ru/common/home?

Что нужно прописать и где, чтобы убрать эти вопросы? Подозреваю, что .htaccess требует правок...

Нужно дописать в .htaccess

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

RewriteRule ^index\.php$ http://www.yoursite.com? [R=301,L]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу