Domanda

if( count( <*>

Questa funzionalità può essere riscritta con le regole .htaccess?

Logic:

Se non una richiesta POST, reindirizzare a una pagina equivalente con l'intera stringa di query emettendo 301 intestazione e stato, mantenendo il protocollo.

POST ) < 1 ) { // determine if this was a secure request - we use a non standard HTTPS port so the SERVER_HTTPS_PORT define should always be used in place of 443 $protocol = <*>

Questa funzionalità può essere riscritta con le regole .htaccess?

Logic:

Se non una richiesta POST, reindirizzare a una pagina equivalente con l'intera stringa di query emettendo 301 intestazione e stato, mantenendo il protocollo.

SERVER['SERVER_PORT'] == SERVER_HTTPS_PORT ? 'https' : 'http'; header( "HTTP/1.0 301 Moved Permanently" ); header( "Status: 301" ); // this is for chrome compliance header( "Location: $protocol://".CLIENT_DOMAIN."{<*>

Questa funzionalità può essere riscritta con le regole .htaccess?

Logic:

Se non una richiesta POST, reindirizzare a una pagina equivalente con l'intera stringa di query emettendo 301 intestazione e stato, mantenendo il protocollo.

SERVER['REQUEST_URI']}" ); session_write_close(); exit; }

Questa funzionalità può essere riscritta con le regole .htaccess?

Logic:

Se non una richiesta POST, reindirizzare a una pagina equivalente con l'intera stringa di query emettendo 301 intestazione e stato, mantenendo il protocollo.

È stato utile?

Soluzione

Prova questo:

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{SERVER_PORT}s ^443(s)|.*
RewriteRule ^foo/bar$ http%1://www.example.com%{REQUEST_URI} [L,R=301]

Non devi semplicemente sostituire 443 con il tuo valore SERVER_HTTPS_PORT e www.example.com con il tuo CLIENT_DOMAIN valore.

Altri suggerimenti

Questo dovrebbe funzionare per te (sostituisci www.google.com con il tuo CLIENT_DOMAIN ).

RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_METHOD} !^POST$ [NC]
RewriteRule ^(.*)$ http://www.google.com/$1 [L,QSA,R=301]
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_METHOD} !^POST$ [NC]
RewriteRule ^(.*)$ https://www.google.com/$1 [L,QSA,R=301]

Guarda la documentazione di mod_rewrite di Apache, lì potrebbe essere un modo, usando % {REQUEST_METHOD} in una condizione RewriteCond ; qualcosa del genere potrebbe fare il trucco:

RewriteCond %{REQUEST_METHOD} !=POST

Seguito, ovviamente, dal RewriteRule necessario per reindirizzare tutto alla pagina non POST.

Non ho modo di testare in questo momento, quindi questo potrebbe non essere perfetto, ma qualcosa del genere potrebbe forse fare il trucco - o, almeno, guidarti alla soluzione:

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

L'idea è di

  • trova tutto
  • reindirizza a ciò che è stato abbinato
  • mantenendo la stringa di query (flag QSA)
  • e reindirizzamento con un codice 301
  • e fermarsi lì
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top