Saya telah mengaktifkan Sistem > Konfigurasi > Web > Tambahkan Kode Toko ke URL dan saya telah menyiapkan Tampilan Toko baru untuk Kanada (/ ca /).
Saya ingin memiliki contoh.com/ca/ memuat Tampilan Toko Kanada, tetapi masih memiliki example.com (tanpa default
kode toko di sana) untuk toko default.
Saya perhatikan bahwa halaman beranda berfungsi dengan baik dalam hal ini, tetapi ketika saya membuka halaman produk, Magento secara otomatis memasukkan kode toko di URL.
Alasan utama mengapa saya ragu untuk mengubah URL kami saat ini untuk toko default kami adalah hanya karena saya benci melihat mereka kehilangan jus tautan. Saya tahu bahwa secara teoritis selama saya melakukan pengalihan 301, saya harus baik-baik saja, tetapi saya pikir saya telah membaca di suatu tempat bahwa sejumlah kecil jus masih hilang.
Juga, saya pikir ini mungkin agak lebih baik dari perspektif kegunaan. Jika sebagian besar lalu lintas Anda ke toko default Anda, dan pelanggan Anda terbiasa dengan URL reguler, mengapa repot-repot dengan tambahan /default/
( /us/
atau apa pun) di URL.
Saya sudah mencoba menonaktifkan Tambahkan Kode Toko ke URL dan hanya mengubah URL Basis untuk Tampilan Toko Kanada saya ke example.com/ca/, tetapi sepertinya tidak melakukan apa-apa. Saya berasumsi perlu pengaturan diaktifkan untuk mengambil kode toko di URL dan melakukan apa pun dengan itu.
sumber
../app/Mage.php
. Sejauh yang saya tahu itu sudah cukupSetEnv MAGE_STORE_VIEW ca
.RewriteBase
di sisi lain biasanya tidak perlu. 2) Seharusnya cukup untuk mengatur symlinks ke index.php dan aplikasi, jika Anda hanya mengatur URL Tautan Dasar ke / ca / dan membiarkan konfigurasi URL Basis defaultPengguna clockworkgeek membuat modul Magento-Store-Codes hanya untuk kasus penggunaan ini.
Saya telah menguji ini pada CE 1.9.2.3 dengan pengaturan situs web tunggal dengan beberapa tampilan toko, dan sepertinya berfungsi dengan baik!
Lihat juga: Magento: Cara menyembunyikan kode Tampilan Toko default dari url
sumber
Berdasarkan jawaban komentar mzeis dan fschmengler , berikut adalah cara KISS untuk melakukannya:
ca
:mkdir ca
app
direktori:ln -s ../app/ ca/app
index.php
file:ln -s ../index.php/ ca/index.php
Buat
.htaccess
file dica
direktori:touch ca/.htaccess
dengan konten berikut:System > Configuration > Web
, aturBase Link URL
ke{{unsecure_base_url}}ca/
dan{{secure_base_url}}ca/
masing - masing.Jika, untuk beberapa alasan,
RewriteOptions inherit
bagian tidak mungkin bagi Anda, Anda juga dapat hanya menyalin standarmod_rewrite
bagian dalam sub-direktori.htaccess
file bukan.Solusi ini harus bekerja sebaik yang dari mzeis, tetapi jauh lebih kecil dan lebih mudah.
sumber
Pilihan lain adalah menggunakan subdomain per toko. Kemudian Anda hanya mengatur Apache untuk memberi tahu magento "situs web / toko" mana yang akan digunakan.
Dengan cara ini Anda dapat memiliki beberapa "toko" dan "tampilan" di bawah situs web subdomain semuanya dalam semua magento yang sama.
ini adalah store config contoh.com
ini adalah tambahan "ca" store config Apache
sumber
Cukup tambahkan ini ke salah satu file system.xml Anda (dalam modul app / code / local):
Dengan cara ini Anda dapat memilih opsi "Tambahkan Kode Toko ke URL" per tampilan toko.
sumber