2015-12-04 17 views
5

Per il mio progetto corrente devo reindirizzare 301 alcuni collegamenti ma quando li inserisci con alcuni parametri get aggiuntivi, i parametri devono essere suffissi sul nuovo URL.RewriteRule non funziona sul server di produzione

Esempio:

Vecchio: /lingua/NL/article-1/test = 123

nuovo:?? /lingua/NL/FA1-artcile-1/test = 123

Così ho utilizzare il seguente codice: (che funziona bene sul mio dev ENV)

RewriteEngine On 
Options +FollowSymLinks 
RewriteBase /language/nl 
RewriteRule /artcile-1/* /language/nl/fa1-artcile-1/$1 [R=301,L] 

Ma una volta sul mio ENV produzione non funziona, che reindirizza ancora al nuovo indirizzo ma i parametri get non vengono aggiunti al nuovo URL.

Modifica: reindirizza ma non aggiunge i parametri.

Edit 2: pieno riempimento

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

La regola di riscrittura (s) venire prima la parte wordpress e ho circa 30 di loro.

Qualche suggerimento?

+0

Sei sicuro che la riscrittura sia abilitata e che htaccess sia consentito nella tua produzione? – Svetoslav

+0

Scusa se ho dimenticato di menzionare che la regola funziona ma solo i parametri non sono stati aggiunti sul mio server di produzione. –

+0

@anubhava è un sito Wordpress, il file è inserito nella radice. –

risposta

0

è necessario aggiungere il query string:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L,QSA] 
</IfModule> 

# END WordPress 
1

Avere in questo modo:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

RewriteRule ^language/nl/article-1/?$ /language/nl/fa1-artcile-1/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

Probabilmente funzionerebbe, ma nel mio caso non lo farà, scopriamo solo che stiamo eseguendo questo su un env di MS Azure. Abbiamo bisogno di un file web.config. –

+0

Hmm allora come mai hai funzionato htaccess per wordpress – anubhava

+0

Apparentemente le regole di riscrittura semplicemente non funzionano, ma i reindirizzamenti 301 ecc funzionano proprio così. –

0

Probabilmente le altre risposte qui sono corrette pure. Ma per il mio caso non funzioneranno.

L'env che sta eseguendo è un env di MS Azure, quindi ho bisogno di avere un file web.config invece di un file .htaccess (come mai, funziona per una parte).

Grazie per tutto l'aiuto rapido e il pensiero!

Problemi correlati