Man ir vietne, kurā tiek glabāts index.php galddatoriem un a mobile.php mobilajām ierīcēm. Abi faili atrodas vienā direktorijā (teiksim /var/www). Pēc noklusējuma lietotājs piekļūst index.php un, ja viņa ekrāna platums ir mazāks par 900 pikseļiem, viņš tiek novirzīts uz mobile.php.

Lai vietnē ielādētu dažādu saturu index.php vai mobile.php ir izvēlņu saites, kas nodod vienu vai divus PHP mainīgos, kas norāda direktoriju, kurā tiek glabāts saturs.

piemēram, ja es vēlos parādīt vietu, no kuras es ielādēju lapu ./Contact/Location/Location.php vērā index.php.

Problēma ir šeit .htaccess nezinu, vai strādāju ar noklusējuma vai vietni mobilajām ierīcēm, tāpēc šie noteikumi nedarbojas kopā:

RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?id=$1&id2=$2 [QSA] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ mobile.php?id=$1&id2=$2 [QSA,L] 

Vai ir veids, kā panākt, lai tas darbotos? Galvenā priekšrocība, ka tā ir šāda, ir tā, ka man nav jāuztur divas vietnes. Izkārtojums ir pilnībā izveidots mobile.php un index.php.

  • Vai jūs izvēlētos dažādus vietrāžus URL, piemēram, mobilajām ierīcēm un galddatoriem /1234/5678/ darbvirsmai un /m/1234/5678/ mobilajam? Jūs sakāt, ka lietotāji sāk novirzīt mobilo tālruni, tāpēc būtu vienkārši jāmaina kods, kas novirza, lai izmantotu /m/ URL.
  • Tas, šķiet, ir ļoti slikts veids, kā to izdarīt - kāpēc gan neiekļaut pārslēgšanas loģiku tieši php (starp citu, ja ietver nosacījumu?), Vai vēl labāk izmantot CSS, lai vietni atbilstoši padarītu par ierīci. Skatiet arī vietni stackoverflow.com/questions/930431/... par to, kā Apache config izmantot vides mainīgos, lai .htaccess mainīgajam varētu izvēlēties pārrakstīšanas kārtulu - bet yuk.

Lai novērstu šo neskaidrību, mobilā un darbvirsmas vietrāži URL ir jāveido atšķirīgi. Varbūt ar /m/ (mobilais) un / vai /d/ (darbvirsmas) prefikss?

Piemēram, /m/Contact/Location/ savai mobilajai vietnei un noklusējums /Contact/Location/ darbvirsmas vietnei. Tomēr, tā kā mūsdienās tiek dota priekšroka “vispirms mobilajiem”, varbūt tā tam vajadzētu būt /d/ galddatoram un mobilajām ierīcēm nav prefiksa?

Lai vietnē ielādētu dažādu saturu index.php vai mobile.php tur ir izvēlnes saites nodod vienu vai divus PHP mainīgos, kas norāda direktoriju, kurā tiek glabāts saturs.

Ja godīgi, tad, kad es to izlasīju, es pieņēmu, ka jūs jau kaut kādā veidā nošķirat mobilā / darbvirsmas URL? Laikam nē.

Jums jāļauj lietotājiem manuāli pārslēgties no darbvirsmas uz mobilo. Jūs, iespējams, varētu saglabāt šo lietotāja preferenci sīkfaila / sesijas mainīgajā (lai gan tas nav noteikti nepieciešams, ja vietrāži URL atšķiras).

Jūs varētu pārrakstīt URL, pamatojoties tikai uz mobilās / darbvirsmas sīkfailu (lasāms no .htaccess), tomēr meklētājprogrammas parasti nemeklē sīkfailus (Google to nedara), tāpēc tas, iespējams, radīs problēmas ar indeksēšanu.

Pēc noklusējuma lietotājs piekļūst index.php un, ja viņa ekrāna platums ir mazāks par 900 pikseļiem, viņš tiek novirzīts uz mobile.php

Kā jūs pašlaik rīkojaties ar meklētājprogrammu pārmeklēšanu? Ja nemaināt URL, es domāju, ka Google var tikt novirzīts uz katru lapas pieprasījumu, veicot meklēšanu, izmantojot mobilo lietotāju aģentu?

(Malā: "mazāk nekā 900 pikseļi" - pieņemu, ka tas ir CSS pikseļi, nevis faktiskie ekrāna pikseļi?)

Vai esat apsvēris pilnīgi atsaucīgs dizaina vietā? Viens URL gan mobilajām ierīcēm, gan galddatoriem. index.php gan mobilajam, gan galddatoram.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?