Προς το περιεχόμενο

Αλλαγή του base url σε php


@sterios

Προτεινόμενες αναρτήσεις

Παιδιά τα φώτα σας λίγο, θέλω - μου ζητήθηκε να αλλάξω το base url ενός site (όχι cms ούτε framework) από http://www.example/index.php σε http://www.example/index/products.php.

Έχω ξανακάνει redirect σε site με htacces, αλλά από ένα domain σε άλλο. Επειδή μου φαίνεται λίγο goofy η λύση του htaccess υπάρχει κάποια λύση μέσω κάποιας function της php ή κάποια άλλη λύση? (Να αναφέρω ότι είδα στο php.net και δεν βρήκα κάτι αξιόλογο ή έτσι μου φάνηκε) Κάθε λύση ευπρόσδεκτη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Την Index.php θα την ονομάσεις products.php και θα την βάλεις μέσα στον φάκελο index και θα γράψεις στην τωρινή σου index

>
header("Location: products/index.php");

έτσι όταν μπεις στην index.php θα σε δρομολογήσει με την μία στην products/index.php

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Υπάρχει και άλλη λύση, την χρησιμοποιώ συχνά:

Φτιάξε ένα καινούργιο αρχείο PHP και βάλε τα εξής μέσα:

 

>class redirection{

function redirection($url, $timeout=''){
	
	echo "
	
		<script language='javascript'>
		
			var url='".$url."';
		
		";
			
	if($timeout)
		echo "setTimeout('Redirect()',".$timeout.");\n";
	else
		echo "Redirect(url);\n";
			
	echo "
			function Redirect(url)
			{
			  location.href = url;
			}
		
		</script>
	
	";
	
}

}

 

αποθήκευσέ το ώς redirection.php

Για να το χρησιμοποιήσεις σε οποιοδήποτε script, κάνε include ή require το αρχείο, και κάλεσέ το με 1 ή 2 ορίσματα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Υπάρχει και άλλη λύση, την χρησιμοποιώ συχνά:

Φτιάξε ένα καινούργιο αρχείο PHP και βάλε τα εξής μέσα:

 

>class redirection{

function redirection($url, $timeout=''){
	
	echo "
	
		<script language='javascript'>
		
			var url='".$url."';
		
		";
			
	if($timeout)
		echo "setTimeout('Redirect()',".$timeout.");\n";
	else
		echo "Redirect(url);\n";
			
	echo "
			function Redirect(url)
			{
			  location.href = url;
			}
		
		</script>
	
	";
	
}

}

 

αποθήκευσέ το ώς redirection.php

Για να το χρησιμοποιήσεις σε οποιοδήποτε script, κάνε include ή require το αρχείο, και κάλεσέ το με 1 ή 2 ορίσματα.

 

Ευχαριστώ θα το δοκιμάσω και αυτό, αν και με την παραπάνω λύση έκανα την δουλειά μου!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Υπάρχει και άλλη λύση, την χρησιμοποιώ συχνά:

Φτιάξε ένα καινούργιο αρχείο PHP και βάλε τα εξής μέσα:

 

>class redirection{

function redirection($url, $timeout=''){
	
	echo "
	
		<script language='javascript'>
		
			var url='".$url."';
		
		";
			
	if($timeout)
		echo "setTimeout('Redirect()',".$timeout.");\n";
	else
		echo "Redirect(url);\n";
			
	echo "
			function Redirect(url)
			{
			  location.href = url;
			}
		
		</script>
	
	";
	
}

}

 

αποθήκευσέ το ώς redirection.php

Για να το χρησιμοποιήσεις σε οποιοδήποτε script, κάνε include ή require το αρχείο, και κάλεσέ το με 1 ή 2 ορίσματα.

 

Το πρόβλημα με αυτό είναι ότι αν εγώ έχω απενεργοποιήσει τη javascript το redirection δε θα δουλέψει ποτέ...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πρόβλημα με αυτό είναι ότι αν εγώ έχω απενεργοποιήσει τη javascript το redirection δε θα δουλέψει ποτέ...

 

Αυτο το redirection είναι πιο ευέλικτο καθώς μπορεί να ενσωματωθεί σε οποιοδήποτε σημείο της σελίδας, ανεξάρτητα από το αν έχουν σταλεί τα headers αλλά φυσικά υπάρχει και ο κίνδυνος όπως είπες κάποιος να έχει απενεργοποιημένη τη js.

 

Επίσης, σου δείνει τη δυνατότητα για καθυστέρηση πριν το redirection, π.χ. να δείξεις μια διαφήμιση ή ενα μνμ.

 

Τέλος, ο πιο αφαλής & σίγουρος τρόπος για (μόνιμο) redirection είναι με .htaccess καθώς εξαρτάται μόνο από το server.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...