Domain maskeleme / bir web uygulaması bir dizine işaret?

2 Cevap php

Ben kullanıcıları onların özgeçmiş ve portföy yükleyebilirsiniz kendi profil sayfasını oluşturmak izin LAMP web uygulaması inşa. Bir kişinin profili için url gibi bir şey olacak

http://jobbank.com/user/johndoe

John Doe alan adı http://johndoefreelancer.com kaydeder ve o http://jobbank.com/user/johndoe işaret etmek istiyor. Johndoefreelancer.com ziyaret eden herkes bu http://jobbank.com/user/johndoe ile tahrik oluyor farkında olmamalıdır. Bu tarayıcı url ısrarla gibi adreslerini göstermek gerektiği anlamına gelir:

http://johndoefreelancer.com/aboutme (really points to jobbank.com/user/johndoe/aboutme) http://johndoefreelancer.com/portfolio (really points to jobbank.com/user/johndoe/portfolio)

Ayrıca, herhangi bir linke tıklayarak [a href = ""] yerine jobbank.com sizi gönderme johndoefreelancer.com sizi tutmalı.

Benim soru, bunu başarmak için en iyi yolu nedir nedir?

I'm considering: 1) Give instructions to users on how to domain forward with masking

2) veritabanına kaydedilir kendi kullanıcı profili bilgileri de alan $ homeUrl fillout için kullanıcıların söyleyin

3) benim PHP kodu, $ homeUrl varsa, tümünü değiştirmek [a href = "$ _SERVER ['HTTP_HOST']"] [a href = "$ homeUrl"] ile

Bu doğru bir yaklaşım mı? Daha iyi bir yolu var mı?

2 Cevap

Alternatif bir yaklaşım sizin IP kendi etki işaret ve isme dayalı sanal konak olarak onları kurmak için kullanıcıların söylemek olacaktır. Faydaları şunlardır:

  1. Bu (ikinci bile kayıt bağlı olarak mümkün olmayabilir) maskeleme sonra ileriye kurmak için kullanıcı için çok daha kolay
  2. URL PHP kodu yeniden uğraşmak zorunda değilsiniz.

Bu (kullanıcı kimliği belirlemek için kod içinde bir etki alanı arama yapabilirsiniz, çünkü gerçekten gerek yoktur) ve URL'ler için /user/johndoe öneki kullanmak zorunda olmasaydı kurulumu daha kolay olurdu ama de önek ile mümkündür - o (alan başına bunu yapmak gerekir) sadece mod_rewrite kurulumu bu durumda daha fazla müdahil olması gerekir bulunuyor.

I anda düşünebildiğim tek pratik yolu:

  1. add a field in the users Profile for a domainname

  2. sizin IP DNS ana girişi (ya da sizin ana domainname'ini) işaret izin kullanıcıları söyle

  3. aklınıza gelebilecek alle vhostları İLK bir sanal konak oluşturun. (*)

  4. Bu sanal konak kullanıcı profilinde istenen domainname'ini arar bir index.php komut dosyası oluşturun ve sayfayı görüntülemek.

Eğer sayfada yazdırmak URL'ler için bir geçiş uygulamak gerekebilir. örn. Eğer "baz href" olarak özel indeks sayfası kullanım / üzerinde geldiyse, diğer tüm durumlarda / user / kullanıcı adı "base href" dir

*) Apache onu bilmiyorum bir isim (bir istek alırsa, çünkü onun hiçbir SunucuAdı | Bir sankondan takma, o son çare olarak ilk Vhost kullanır.