2010-07-30 14 views
5

Sto provando a creare un file htaccess per reindirizzare il mio intero sito tranne alcune eccezioni, ma non riesco a farlo funzionare. Devo reindirizzare l'intera cosa, fornire un reindirizzamento specifico ed escludere due pagine. Di seguito è riportato il mio campione non funzionante. Grazie!htaccess 301 reindirizza l'intero sito ma con le eccezioni

RewriteCond %{REQUEST_URI} !^/events/index.html 
RewriteCond %{REQUEST_URI} !^/calendar/index.html 
Redirect 301 /info/faq.html http://mynewsite.com/my-page 
Redirect 301/http://mynewsite.com 

risposta

14

Si sta tentando di mescolare mod_rewrite con mod_alias, ma i RewriteCond dichiarazioni non possono condizionare le Redirect dichiarazioni, in quanto non provengono dalla stessa modulo.

credo che si desidera qualcosa di più simile a questo, se ho capito correttamente quello che stavi cercando di realizzare:

RewriteEngine On 

RewriteCond %{REQUEST_URI} !=/events/index.html 
RewriteCond %{REQUEST_URI} !=/calendar/index.html 
RewriteCond %{REQUEST_URI} !=/info/faq.html 
RewriteRule ^.*$ http://mynewsite.com/$0 [R=301,L] 

Redirect 301 /info/faq.html http://mynewsite.com/my-page 
+0

sto cercando di realizzare una variante di questo - voglio riorientare tutto, a meno che la richiesta è in una directory specifica (potrebbe essere vari tipi di file) - ma non funziona: [codice] RewriteEngine On RewriteCond% {REQUEST_URI}! =/sites/default/files/imports RewriteRule ^. * $ http://mynewsite.com/$0 [R = 301 , L] Redirect 301/http://mynewsite.com/ [/ code] –

+1

Prova '% {REQUEST_URI}! ^/Sites/default/files/imports', poiché'! = 'Funziona solo con esatto confronti di stringhe. –

3

ho avuto un problema simile. Cercando di reindirizzare un intero dominio con l'eccezione del suo file robots.txt. La risposta di Tim non ha funzionato per me, ma questo ha fatto

RewriteEngine On 
RewriteRule robots.txt - [L] 
RewriteRule ^.*$ http://www.newsite.com/$0 [R=301,L] 
Problemi correlati