iPad un iPhone mobilā noteikšana, izmantojot htaccess

Es cenšos panākt, lai pārrakstīšanas noteikumi darbotos .htaccess meklēšanas saitēm nekustamā īpašuma nomas vietnē, kurā strādāju.

Vecās saites ir šādas:

example.com/index.php?proptype=Villa&action=search 

un jaunais meklēšanas saites ekvivalents būs šāds:

example.com/listing?holidaytype=Villa 

Pirms mēģināju ar aizstājējzīmēm, es gribēju pārbaudīt ar iestatītu parametru. Esmu izmēģinājis abas šīs pieejas, bet neviena nedarbojas.

RewriteRule index.php?proptype=Villa&action=search listing?holidaytype=Villa [L] 
RewriteCond %{QUERY_STRING} ^proptype=Villa&action=search$ RewriteRule ^index.php listing?holidaytype=Villa [L] 

Vienīgās rindas virs šīm manā .htaccess failā ir šādas:

RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

Pārbaudījis vairākus citus saistītus jautājumus šeit un izmantojot citas pārrakstīšanas vadlīnijas, es joprojām nevaru panākt, lai noteikumi darbotos. Ko esmu palaidis garām - vai tā varētu būt cita problēma?

Greiems

  • Kas notiek tieši? /listing?holidaytype=Villa - Maz ticams, ka šāds URL tiks tieši saistīts ar failu sistēmu, tāpēc šeit ir jāveic cita apstrāde? Vai šī karte listing.php varbūt?
  • Es neesmu galvenais šīs pārbūves izstrādātājs un tikai skatos novirzījumus no vecās / esošās vietnes, bet jā, šī saite /listing?...šķiet, ka tas atver list.php - vai, iespējams, citu failu ar parametriem vispirms apstrādā.
  • Ir Villa dinamiska virkne, kas jāpārkopē no vecā URL uz jauno?

Ja jūs "novirzāt" vecos vietrāžus URL, jums jāievieš URL ārējā novirzīšana, nevis an iekšēja pārrakstīšana, kā jūs to darījāt šeit. (listing?holidaytype=Villa maz ticams, ka tas būs derīgs failu sistēmas ceļš, bet tas, iespējams, ir cits jautājums.)

Piemēram, tā vietā izmēģiniet šādas darbības:

RewriteCond %{QUERY_STRING} ^proptype=Villa&action=search$ RewriteRule ^index\.php$ /listing?holidaytype=Villa [R=302,L] 

Šis ir īslaicīgs (302) novirzīšana, mainiet to uz pastāvīgu (301) tikai tad, kad esat pārliecināts, ka tas darbojas labi.

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