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

Apache rewrite & redirect


linkinpark4175

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

Δημοσ.

Δεν ξερω σχεδον καθολου να χρησιμοποιω το rewrites του .htaccess γιαυτο θελω την βοηθεια σας.

Βρηκα αυτο το σαιτ το οποιο εχει ετοιμο κωδικα για mobile detection & redirection (http://detectmobilebrowser.com/).

 

Εβαλα τον κωδικα αλλα δεν μπορω να το κανω να δουλεψει

>RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC]
RewriteRule ^$ http://detectmobilebrowser.com/mobile [R,L]

 

προσπαθω να κανω detect & redirect απο http://varemenos.com σε http://m.varemenos.com αν ο UserAgent ειναι καποιου mobile

Δημοσ.

Ναι, ετσι:

 

>RewriteRule ^$ http://m.varemenos.com/[R,L]

 

τον υπολοιπο κωδικα τον αφησα οπως ηταν και το εκανα copy/paste στο τελος του .htaccess (γιατι εχει και αλλες ρυθμισεις μεσα) (δεν ξερω αν αυτο μπορει να δημιουργησει καποιο conflict).

Δημοσ.

Tο config του apache το πείραξες;

 

><Directory "/var/www/html/φάκελος του site σου">
   Options FollowSymLinks
   AllowOverride All
</Directory>

 

και μετά reload ή restart τον apache.

 

Αν δεν έχεις access στο httpd.conf, χρησιμοποίησε την έκδοση για php ή κάτι άλλο αντίστοιχο.

Δημοσ.

Οχι δεν εχω αυτον τον κωδικα που εχεις γραψει (τουλαχιστον οχι στο .htaccess).

Εχω shared host plan (cpanel) και λογικα δεν νομιζω να εχω access στο httpd.conf

Δημοσ.

Δοκιμασα να βαλω το:

>
RewriteEngine On
RewriteBase /

RewriteRule ^$ http://detectmobilebrowser.com/mobile [R,L]

 

ή:

>
RewriteBase /

RewriteRule ^$ http://detectmobilebrowser.com/mobile [R,L]

 

ή:

>
RewriteRule ^$ http://detectmobilebrowser.com/mobile [R,L]

 

Αλλα τιποτα, ακομα και να αδειασω το .htacess και να βαλω μονο 1 απο τα παραπανω δοκιμασα αλλα πεταει συνεχεια '500 Internal Server Error'.

Δημοσ.

Για δοκίμασε το εξής:

 

>
RewriteEngine On

RewriteRule (.*) http://detectmobilebrowser.com/mobile [L]

 

Η πρώτη γραμμή ενεργοποιεί ουσιαστικά το mod_rewrite. Η δεύτερη λέει να οδηγήσει οποιοδήποτε url του domain σου στη διεύθυνση http://detectmobilebrowser.com/mobile. Το L(ast) στις αγκύλες σημαίνει ότι αυτή θα είναι η τελευταία ανακατεύθυνση του url.

 

Εφόσον δουλεύει, δώσε ακριβώς πριν από το RewriteRule τα RewriteCond όπως τα είχες:

 

>
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC]
RewriteRule (.*) http://detectmobilebrowser.com/mobile [L]

 

Αν τώρα δεν δουλεύει, σημαίνει πως δεν είναι σωστά τα RewriteCond που έχεις.

Δημοσ.

Καταφερα να το κανω να δουλεψει, τελικα το προβλημα δεν ηταν στο .htaccess αρχειο αλλα στην εκδοση του html5boilerplate που χρησιμοποιησα (πηρα ολα τα χρησιμα αρχεια, εικονες κτλ και τα εβαλα στην τελευταια εκδοση και δουλευει μια χαρα τωρα).

 

Ευχαριστω για την βοηθεια.

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

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

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