nginx e .htaccess

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ho da poco messo online un mio sito su server nginx, il problema è che prima usavo apache quindi usavo htaccess senza problemi adesso invece non si può quindi ho dovuto fare alcuni cambiamenti.
Al momento se un utente che naviga con ie8 visitasse il mio sito verrebbe direzionato su una pagina apposita, ma se nella barra degli indirizzi digitasse anche index.pho potrebbe navigare sul sito come se avesse un ie11 cioè senza restrizioni. Come posso fare per evitare che digitando la pagina esatta venga mandato li? Posso mettere un blocco solo per chi usa diciamo da ie5 alla 8 che venga indirizzato solo ed esclusivamente a quella pagina e basta?
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Puoi mettere nell'index o anche in altre pagine uno script con user agent che individua il browser e il device reindirizzando l'utente alla pagina giusta
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ma a questo punto che scopo ha il codice nel file di configurazione del server(ex htaccess)? Basterebbe un codice in php in ogni pagina con successivo redirect o header, sbaglio?
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Basterebbe! Ma .htaccess è un file di sistema e di sicurezza dove digiti una sola volta le istruzioni invece di inserirle in tette le pagine, ma non serverdo solo allo scopo da te interessato ma la sua ragione d'essere è quella di servire a tantissimi scopi
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
ok, però io non ho l'htaccess in quanto sono su serve nginx e non apache, infatti la configurazine è sul file di configurazione del server non in htaccess.
Viste però le due possibilità che potrebbero esserci non converrebbe che il codice fosse messo in quello che per apache è l'htaccess invece di aggiungere del codice php? Inoltre essendo una serie di browser e non uno potrebbe andare bene questo codice?
PHP:
<?php

if ($_SERVER['HTTP_USER_AGENT]'] === MSIE ){
	header("location: pinco.php");
}

?>

ovviamente MSIE non va bene in quanto sarebbero almeno 3 versini di ie, come poter fare? Con una regex? Mi sapresti dire come.
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Puoi usare anche JS al posto di PHP
Identifica il browser
Codice:
<script language="javascript">
<!--
document.write("Il tuo browser è " + navigator.appName + " " + navigator.appVersion);
//-->
</script>
Reinderizza in base al browser
Codice:
<script language="javascript">
<!--
if (document.all){
  location.href = "explorer.htm";
}
else if (document.layers){
  location.href = "navigator.htm";
}
else if (document.getElementById){
  location.href = "opera.htm";
}
else{
  location.href = "altri_browser.htm"; 
}
//-->
</script>




.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Volevo stare lato server. D'altronde disabilitando js perdo il vantaggio di quello che mi hai scritto.

Volere è potere. Almeno penso...
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
prova questo script
Codice:
<?php
//******************************
//********Configurazione*********
//******************************
$MSIE_URL = "";
$FIREFOX_URL = "";
$OPERA_URL = "";
$SAFARI_URL = "";
$CHROME_URL = "";
$OTHER_URL = "";
// ****reindirizzamento*****
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
function str_present($str,$substr)
{
$pos = strpos($str,$substr);
if($pos === false) {
 return false;
}
else {
 return true;
}
}
if (str_present($HTTP_USER_AGENT, "MSIE")) 
{
	Header ("Location: " . $MSIE_URL);
}
else if (str_present($HTTP_USER_AGENT, "Firefox"))
{ 
	Header ("Location: " . $FIREFOX_URL);
}
else if (str_present($HTTP_USER_AGENT, "Chrome"))
{ 
	Header ("Location: " . $CHROME_URL);
}
else if (str_present($HTTP_USER_AGENT, "Opera"))
{ 
	Header ("Location: " . $OPERA_URL);
}
else if (str_present($HTTP_USER_AGENT, "Safari"))
{ 
	Header ("Location: " . $SAFARI_URL);
}
else
{ 
	Header ("Location: " . $OTHER_URL);
}
?>




.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Grazie, quel codice l'avevo già visto in rete, ho preferito però adottare questo, che è specifico per MSIE, che ovviamente è quello più problematico per tutti.
PHP:
$userAgent = $_SERVER['HTTP_USER_AGENT'];

preg_match( '/MSIE ([0-9]{1,}[\.0-9]{0,})/', $userAgent, $matches );
$version = floatval( $matches[1] );
if( $version <= 8.0 ) {
	header("location: http://sito.ddns.net:80/browserko.php");
}

devo capire come evitare di mettere tutto il link intero invece che solamente la pagina interessata, diciamo sostituire l'index.php con browserko.php. Forse è più semplice e veloce il link intero però preferirei l'altra possibilità.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P tabella scomparsa in pagina php su server nginx PHP 1
matteoraggi Apache vs nginx Apache 0
S Errore phpBB: 502 bad gateway (Nginx su Aruba VPS) Server Dedicati e VPS 1
voldemort Errore 502 bad gateway nginx Web Server 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
G Aiuto con htaccess e rewriterule PHP 0
Cosina htaccess redirect 301 senza estensione html Web Server 6
felino htaccess: redirect da una subdirectory alla root Web Server 2
A [PHP] redirect htaccess PHP 5
Z Sottodomini e sottocartelle con Apache2 e Htaccess Apache 0
felino [Htaccess] Redirect per url non esistente Apache 1
Z HTACCESS e PHP MOD_REWRITE PHP 0
G [PHP] Sottodomini con .htaccess PHP 1
P htaccess ed espressioni regolari Apache 0
F htaccess e redirect 301 Apache 0
W Errore su Htaccess, mi reindirizza sempre ad una sola regola Apache 0
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
P Cerco esperto htaccess Offerte e Richieste di Lavoro e/o Collaborazione 0
bubino8 [WordPress] Gestire SSL (https://) da .htaccess WordPress 9
O [PHP] Conflitto tra regole nel file htaccess PHP 10
I Url rewrite con .htaccess funziona ma poi mostra indirizzo "reale" nella barra di navigazione Apache 1
M htaccess Apache 0
D Aggiungere slash finale ad URL con .htaccess Web Server 2
F Regola Htaccess SEO e Posizionamento 7
SebaGravi [PHP] problema url semantici con .htaccess PHP 3
booklisa [WordPress] Errori vari console chrome, redirect file .htaccess + internalizza risorse WordPress 1
booklisa [WordPress] .htaccess questo sconosciuto... WordPress 0
A [PHP] Protezione selettiva sottocartelle con htaccess PHP 0
A [PHP] problema htaccess PHP 2
Cosina File htaccess compilazione Apache 0
D Come posso escludere una pagina dalle regole di htaccess? Web Server 0
M htaccess incompleto? Apache 0
F Regola .htaccess 301 suffisso .html SEO e Posizionamento 3
L htaccess case insensitive Apache 0
A Conflitti rules redirect htaccess PHP 1
Max 1 .htaccess e referer su server linux Web Server 0
W Session e htaccess PHP 2
MarcoGrazia [htaccess] Bloccare tutti meno il proprio sito Apache 0
R Riscrivere URL - file .htaccess e modrewrite Linux e Software 0
T Condizioni multiple in htaccess per accesso a sub folder basato su indirizzo IP Apache 0
P url rewrite htaccess Apache 0
LuigiDonato .htaccess PHP 5
anton Proteggere un file con htaccess Apache 0
N [MAMP] Problemi con htaccess.txt Apache 0
A acconsentire tramite .htaccess tutti gli ip italiani + googlebots Apache 0
A Redirect 301 .htaccess non funziona: riporto il codice inserito HTML e CSS 2
Devil-94 .htaccess rewriteRule Apache 0
V Error 404 a causa del file htaccess Apache 0
C Reindirizzamento htaccess HTML e CSS 2
R Redirect 301 con htaccess non funziona. Aiuto! PHP 1

Discussioni simili