È possibile utilizzare .htaccess per inviare sei cifre del numero di Url di una sceneggiatura, ma di gestire tutte le altre voci Url 404?

StackOverflow https://stackoverflow.com/questions/73123

  •  09-06-2019
  •  | 
  •  

Domanda

È possibile utilizzare .htaccess per elaborare tutte le sei cifre, Url, mediante l'invio di una sceneggiatura, ma di gestire ogni altro URL non valido come errore 404?

Per esempio:

http://mywebsite.com/132483

vorresti essere inviate a:

http://mywebsite.com/scriptname.php?no=132483

ma

http://mywebsite.com/132483a or
http://mywebsite.com/asdf

vorresti essere trattato come un errore 404.

Io attualmente lavoro tramite PHP personalizzato 404 script ma è un po ' difettose.A me sembra che .htaccess potrebbe essere una soluzione più elegante, ma non sono stato in grado di capire se è ancora possibile.

È stato utile?

Soluzione

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^([0-9]{6})$ scriptname.php?no=$1 [L]
</IfModule>

Per preservare la pulizia URL

http://mywebsite.com/132483

mentre serve scriptname.php utilizzare solo [L].Con [R=301] visualizzerà il nomescript.php?no=xxx

Si possono trovare utile http://www.addedbytes.com/download/mod_rewrite-cheat-sheet-v2/pdf/

Altri suggerimenti

Nel file htaccess, inserire il seguente

RewriteEngine On
RewriteRule ^([0-9]{6})$ /scriptname.php?no=$1 [L]

La prima riga diventa il mod_rewrite motore.L' () staffe di mettere il contenuto in $1 - successive () avrebbero popolato $2, $3...e così via.Il [0-9]{6} dice di cercare una stringa di esattamente 6 caratteri contenente solo caratteri numerici (0-9).

Il [L] alla fine rende questa ultima regola - se si applica la regola di elaborazione si ferma.

Oh, i ^ e $ segnare l'inizio e la fine di uri in arrivo.

Speranza che aiuta!

Sì, è possibile con il mod_rewrite.Ci sono tonnellate di buoni di mod_rewrite tutorial online una rapida ricerca su Google dovrebbe risultare la vostra risposta in pochissimo tempo.

In pratica ciò che si sta andando a voler fare è garantire che l'espressione regolare che si utilizza è solo in cerca di cifre e non di altri personaggi e per garantire la lunghezza è di 6.Poi ti reindirizza a nomescript.?n= il numero che hai catturato.

Spero che questo aiuta!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top