Utilizzo di mod_rewrite per un file system virtuale o un file system reale

1

Ho iniziato a lavorare in un reparto che utilizza un CMS in cui l'intero "filesystem" è simile a questo:

  1. crea un file o una cartella con nome - questo file riceve un nodo univoco (ad esempio 2345) e un "nome file" predefinito (ad esempio /WelcomeToOurProductsPage ) e applica un modello
  2. assegna uno o più alias al file per un reindirizzamento URL (ad esempio /home-page-products - è possibile accedere anche a /home-page-products.aspx )
  3. Un nuovo comando Riscrivi viene scritto sul file .htaccess per ogni alias
  4. Il server accede a /WelcomeToOurProductsPage o /home-page-products e reindirizza a qualcosa come /template.aspx?tmp=2&node=2345 (qui sto indovinando cosa fa - ho solo accesso front-end per ora - ma ho abbastanza indizi da assumere con fermezza)
  5. Il nodo 2345 cattura il contenuto memorizzato in un Db SQL e lo applica al modello.

Nota: non ci sono file reali creati sul filesystem. È completamente virtuale. Questa è probabilmente una cosa molto comune, ma poiché non ho mai incontrato questo tipo di sistema prima di due mesi fa, volevo spiegarlo nel caso non fosse comune. Non sono un fan di tutti i sistemi ASP o closed-source, quindi potrebbe essere che questa è una pratica comune per gli sviluppatori ASP.

La mia domanda, che ha richiesto troppo tempo per chiedere, è: quali sono i vantaggi di questo tipo di sistema, anziché creare una gerarchia di file effettiva? Ci sono degli svantaggi nel reindirizzare ogni singola chiamata al file server? Per avere il file .htaccess tieni premuto le regole di riscrittura per ogni singolo alias ?

    
posta Phil Tune 30.06.2012 - 15:16
fonte

2 risposte

1

Rendere un reindirizzamento di tutte le tue pagine collegate è piuttosto orribile ai fini SEO - i motori di ricerca vedranno solo il pagepage.aspx? node = 1234 non i tuoi "graziosi" URL. Riscrivere l'url dietro le quinte è ancora brutto ma un po 'meglio.

Dovresti davvero dare un'occhiata al routing degli URL qui - che ti farà molto meglio delle riscritture url dinamiche. Il lato negativo più grande è che, senza un sacco di voodoo, si sta osservando un dominio di app completo rimbalzare ogni volta che si aggiunge una pagina e cioè dopo aver superato i problemi meccanici di mappare i valori di configurazione (le riscritture) ai valori del database.

Con il routing degli URL puoi configurare un percorso come / {pageName} che inserirà i prodotti / home-page nella variabile pageName. Quindi hai un elenco indicizzato di pageNames mappati sul contenuto attuale. L'URL stesso non cambia mai o viene persino riscritto sul retro e ti consente di scambiare facilmente le pagine. Puoi anche avere più / {pageName} opzioni andare alla stessa pagina.

    
risposta data 12.08.2013 - 23:39
fonte
0
  1. La regola rewrite-rule-per-alias deve essere terribile da gestire. Puoi aiutare un po 'scrivendo uno script che ha preso un foglio di calcolo o un file di testo o qualsiasi altra cosa e lo ha trasformato in un elenco di regole di riscrittura.
  2. I filesystem sono il pane e il burro di un sistema operativo, e quindi sono stati ottimizzati come l'inferno e quindi sono veloci . Ci sono casi d'angolo, solitamente legati alla memorizzazione di un numero elevato di file in singole directory, ma anche questi possono essere mitigati. E conosci i link simbolici giusto?
  3. Potresti scrivere uno script ASP che esegue la riscrittura?
risposta data 15.11.2012 - 14:12
fonte

Leggi altre domande sui tag