L'URL reindirizza in un'altra pagina dello stesso sito

Fondamentalmente voglio redirect tutte le richieste al mio dominio a una pagina specifica. Ad esempio, redirect tutte le richieste alla pagina X, a less che non siate già a pagina X, nel qual caso è sufficiente caricarlo. Ma le mie soluzioni creano un ciclo infinito: /

Provai…

  • Come bloccare le richieste non conforms a Apache
  • Parse / Modifica i file con Apache conf con Ruby?
  • Single Sign On per intranet con Apache e Linux MIT Kerberos
  • È una posizione centrale per le chiavi autorizzate una buona idea?
  • Munin: alcune pluggin hanno smesso di funzionare dopo essere state trasferite in host * virtuale diverso
  • abilitando Apache's HostnameLookups, non riesce a trovarlo in httpd.conf
  • RewriteCond %{REQUEST_URI} !=/underconstruction.html RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !^/underconstruction.html RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

  • Come disabilitare la password dell'utente tramite il fantoccio in modo sicuro?
  • Come abilitare Apache a lavorare su IPV4?
  • Linux SCSI Scan - è ancora eco "- - -" in Linux 3.2
  • Aggiungere una directory alla radice Web Apache?
  • Quali sono i migliori modi per confrontare RAM (no-ECC) sotto linux / arm?
  • Miglior server ftp per ubuntu server 10.04?
  • 3 Solutions collect form web for “L'URL reindirizza in un'altra pagina dello stesso sito”

    Da quello che hai descritto, vuoi una regola di riscrittura più simile a:

     RewriteRule ^(.*)$ $LINK [L,R=301] 

    In altre parole, perdere $ 1. Questo sta collegando l'URL originale al nuovo URL, che ha come risultato un ciclo infinito.

    (Non ho verificato i condizionamenti, ma uno di quelli dovrebbe funzionare, credo)

    Il problema con gli esempi precedenti è che le righe di RewriteRule non si riescono a redirect a underconstruction.html, reindirizzano approssimativamente allo stesso URL (poiché $ 1 corrisponde a (. *)).

    Questo esempio 301 redirà tutti gli URL a "/underconstruction.html":

     RewriteEngine On RewriteCond %{REQUEST_URI} !=/underconstruction.html RewriteRule ^ /underconstruction.html [R=301] 

    (che si traduce come "Se URI non è /underconstruction.html, redirect a /underconstruction.html")

    Che ne dite di

     <VirtualHost *:80> ... RedirectMatch !^/underconstruction.html http://yourdomain/underconstruction.html ... </VirtualHost> 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.