Dominio primario host da una sottocartella

Sto avendo un problema facendo un sotto directory agire come public_html per il mio dominio principale e get una soluzione che funziona anche con le directory secondarie dei domini.

Il mio hosting mi permette di ospitare più siti, tutti funzionanti. Ho installato una sottocartella sotto la mia / public_html / directory chiamata / domains / , where creo una cartella per each sito web separato. per esempio

  • Ottimizzazione della memory del server VPS
  • Come faccio a richiedere i certificati client con un nome utente / password specifico in Apache?
  • 1GB VPS - Apache Worker MPM - FCGID - Connessioni multiple simultanee - RAM CAP
  • Misurare e visualizzare le performance delle applicazioni web utilizzando i registri apache?
  • HTTPS è più di 50 volte più lento di HTTP
  • Quando ho bisogno di più di hosting condiviso?
    • public_html
      • domini
        • websiteone
        • websitetwo
        • websitethree

    Questo mantiene i miei siti piacevoli e ordinati. L'unico problema era get il mio "dominio principale" per adattarsi a questo sistema. Sembra che il mio dominio principale sia in qualche modo legato al mio account (oa Apache o qualcosa del genere), quindi non posso modificare la "root" del documento di questo dominio. Posso definire le radici del documento per tutti gli altri domini ("Domini Addon") che aggiungo a cPanel nessun problema. Ma il dominio principale è diverso.

    Mi è stato detto di modificare il file .htaccess per redirect il dominio principale in una sottodirectory. Questo sembrava funzionare ottimo, e il mio sito funziona bene sulla sua home / index page.

    Il problema che sto avendo è che se cerco di navigare nel mio browser per dire la cartella di immagini (solo per esempio) del mio sito principale, come questo:

    www.yourmaindomain.com/images/

    quindi sembra ignorare il reindirizzamento e mostra l'intera directory del server nell'URL, come segue:

    www.yourmaindomain.com/domains/yourmaindomain/images/

    Esso mostra ancora correttamente la pagina "Indice / immagini" corretta e mostra l'elenco di tutte le mie immagini.

    Ecco un esempio del mio file .htaccess che sto utilizzando:

    RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /domains/yourmaindomain/$1 RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L] 

    Questo file htaccess sembra corretto? Ho solo bisogno di farlo così il mio dominio principale si comport come un dominio addon, e le sue sottodirectory sono conformi alle regole di reindirizzamento.

  • Cosa c'è di sbagliato con sempre essere radice?
  • Come fermare / prevenire il bruteforce SSH
  • PuTTY errore fatale: il server ha rifiutato di avviare una shell / command
  • Modificare la radice del documento di un dominio parcheggiato?
  • Ho l'accesso root di WHM, ma non sono in grado di connettersi utilizzando SSH
  • Chiosco server Linux
  • 2 Solutions collect form web for “Dominio primario host da una sottocartella”

    Vorrei call un DirectorySlash rogue su di esso.

    1. Solo con le directory?
    2. Ci capita solo quando non c'è trampolino di traino (ad esempio, le /images passano a /domain/yourdomain/images/ , ma /images/ sono a posto)?

    In questo caso, ci sono 3 opzioni:

    1. Assicurarsi che tutti i collegamenti abbiano la barra di traino ( / )
    2. Imposta DirectorySlash off (ti metterà in doppie pagine / dirs, dal punto di vista SEO non è bello).
    3. Cercate di aggiungere un RewriteRule appena prima dell'ultimo index.html : (pensato in volo, non so se funziona)

       RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_FILENAME} !/$ RewriteRule ^(.*) $1/ 

    Uno dei tuoi problemi è il tuo Regex: non stai fuggendo dal tuo punto. Ciò significa che sarà considerato "qualsiasi carattere" invece di un solo punto. Invece di

     ^(www.)?domain.tld$ 

    dovrai avere

     ^(www\.)?domain\.tld$ 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.