nasıl benim sitenin url / / magento gizlerim?

4 Cevap php

A site has an existing system (lets call it mysite) and the client asks to put in magento.

Benim dizin yapısı böyle bir şey gider:

ROOT       
   -index.php (this is the app's main controller)
   -.htaccess
   /blog (runs wordpress)
   /assets (current system's media folder)
   /magento (this is where all magento files go)

Ben magento kurmak ve taban URL http://example.com, magento kadar yükler mysite olduğu kurulumda belirtirseniz sorundur.

Leaves me no choice but to setup magento with base URL set to http://example.com/magento/ and it runs perfectly. However the client wants me to feel hell and asks me to hide magento in the URL.

. Gerçekten htaccess tecrübeli değilim ve ben bu yüzden /magento magento klasörüne ile geldi ile başlayan herhangi bir HTTP isteklerini iletme denedim sadece basit bir yeniden yazma kodları biliyor:

RewriteCond %{REQUEST_URI} !^/magento(.*)
RewriteRule (.*) /magento/$1 [L]

Bu çalışma olduğunu düşündüm sadece zaman, mysite Tüm unaccessible oldu ve magento sisteme iletir 404 sayfası görüntüleniyor bağlar.

Yani, uhm, ben aka mevcut sistemi etkilemeden URL'ler /magento/ gizlemek için. Htaccess oluşturmak için nasıl yardım isteyin mysite?

4 Cevap

Eğer webroot kapalı, mevcut uygulamalarını Çünkü, kullandığınız nothing yerine paçayı edemez:

### webroot/.htaccess
RewriteRule ^whatiwanttouseinsteadofmagento/(.*)$ magento/$1 [L]

Ben tamamen magento gizlemek ve aynı zamanda hem sitenizde kullanmak mümkün olmayacaktır sorunu görmek nasıl itibaren.

Eğer ortak klasörün kök Magento isterseniz sadece magento kurulumu için virtualhost işaret etmelidir, ancak bu kamu görünümünde dışarı blogunuza ve ana denetleyici izin verir. Bu magento klasöre. Htaccess tüm çağrıları yönlendirerek yaptıklarından daha fazla veya daha az aynı.

Ne tavsiye anonymous "alışveriş" ya da "sepeti" gibi daha fazla şey magento adını değiştirmek ve bir klasör yeniden adlandırma güvenlik ve performans açısından bir. Htaccess dosyasına tercih olduğunu hatırlamaktır.

Hadi ona bakalım:

RewriteCond %{REQUEST_URI} !^/magento(.*)

Bu yüzden (*.) Koşul / magento değil bir şey olduğunu söyleyerek, bu nedenle konum bu dizinin ama her şey? Bu blog, varlıkları ve diğer dizinleri dahil olmak üzere her şeyi, yönlendirme olur.

Magento dizinine yönlendirilir gereken her dosyası belirtmeden, gerçekten bunu yapmanın kolay bir yolu yoktur. Ben bunu bir "/" içeren ve magento dizinine uzantısı. Php ile biter değil herhangi bir dosya yönlendirme olabilir varsayalım. Kök web dizininde yalnızca dosyaları bu şekilde magento yönlendirmek, ancak magento dizini içinde diğer dizinleri kullanıldığında eğer hala onlar için ayrı bir kural eklemek gerekiyordu.

Bu cevap çok geç geliyor ama senin gibi bir şey istedim sanırım

RewriteCond %{REQUEST_URI} !^/(blog|assets|magento)(.*)$
RewriteRule ^(.*)$ /magento$1 [L]