2011-12-18 12 views
11

Avevo una cartella chiamata blog sul mio sito. Ho cancellato tutto in modo permanente. Vorrei farlo 410. Come faccio a 410 un'intera cartella?Desidero 410 un'intera directory - Ho eliminato il mio blog

ad es. il mio sito sembrava così

example.com/blog/mycoolpost1/ 
example.com/blog/mycoolpost2/ 
example.com/blog/mycoolpost3/ 
example.com/blog/mycoolpost4/ 

ora post 1,2,3,4, sono morti.

così come faccio a specificare che tutto dopo il blog, viene eliminato definitivamente. (così come la cartella 'blog' stessa)

Ho bisogno di una linea htaccess qualcosa del genere ...?

redirect 410 /blog/?(.*)

+0

Com'è collegato alla programmazione in qualsiasi modo, forma o forma? –

+0

Non lo è. Sto votando per migrare a SF. –

risposta

0

È possibile impostare una regola di riscrittura in .htaccess per reindirizzare tutti gli URL che contengono la cartella morti "blog" per un costume "non esiste" pagina di errore o qualsiasi altra cosa . Se si desidera il codice effettivo, si consiglia di leggere guide-url-rewriting per aiutarti a capirlo.

+0

giusto ma non riesco a trovare la linea corretta. qualcosa del genere, ma questo non è workign: redirect 410 /blog/?(.*) –

+0

Vorrei usare qualcosa del genere: RewriteRule^blog /(.)*$ error.php [NC, L]. Potrebbe non essere la sintassi esatta da quando è passato un po 'di tempo da quando ho usato Riscrivere, ma qualcosa del genere dovrebbe funzionare. – Amn

10

Il Redirect directive è il modo corretto per farlo. Si dovrebbe mettere il seguente nella configurazione dell'host virtuale:

Redirect 410 /blog 

Se non si ha accesso alla configurazione host virtuale, si può mettere nel file .htaccess nella directory principale del documento, o credo che si può mettere la segue nel file .htaccess nella blog sottodirectory:

Redirect 410/

(potrei essere fuori di questo, io non sono sicuro di come esattamente Redirect interagisce con risoluzione percorso nel file .htaccess)

+1

grazie ho appena fatto questo e questo ha funzionato: redirect 410/blog –

+2

@BobbySmith Se questa risposta ha funzionato per te, non dimenticare di contrassegnarlo come accettato. – BoffinbraiN

7

Non penso che lo Redirect sia lo strumento giusto, poiché corrisponde solo al percorso specificato. Basta usare:

RewriteEngine On 
RewriteBase/
RewriteRule ^blog/ - [G] 
5

il seguente .htaccess sarebbe utile quando, ad esempio, si passa da un hosting ad un altro e si riordinare o eliminare parti del web.

Come Apache permette codici di sintassi umani ho usato permanente invece di 301 codice e gone invece di 410. È possibile controllare i codici del protocollo http qui Status Code Definitions

ho messo il file sul mio mynewblogaddress radice. cartella com:

.htaccess

Redirect permanent /wordpress http://www.mynewblogaddress.com/blog/ 
Redirect gone /gallery2 
Redirect permanent /directory2 http://directory2.mynewblogaddress.com 
0

Per coloro che usano IIS (7 o successivi) e inciampano su questo post come ho fatto io, questo è il modo in cui l'ho fatto usando il globale.ASax:

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    HttpApplication app = sender as HttpApplication; 

    if (app.Request.Url.PathAndQuery.IndexOf("/mydirectory") > -1) 
    { 
     Response.StatusCode = 410; Response.End(); 
    } 
} 

mi è capitato di essere alla ricerca di tutte le pagine in una directory, ma avrei potuto fare qualcosa di simile come obiettivo tutte le pagine html (assumendo 410'ing tutte le pagine HTML dovevano essere “andato”)

Problemi correlati