Vēlaties novirzīt visus vietrāžus URL, kas izskatās līdzīgi šim:

https://www.example.com/discussion/topix/random-page-title.133760/posts/1255466/rate?rating=13&_Token=78139%2C1464617730%2Ca42dfb1db7e54b51db1879075650aaf4a3c3323a 

uz

https://www.example.com/discussion/topix/random-page-title.133760/ 

Būtībā noņemot no URL:

posts/1255466/rate?rating=13&_Token=78139%2C1464617730%2Ca42dfb1db7e54b51db1879075650aaf4a3c3323a 

Tās ir vecas sistēmas daļas.

RedirectMatch 301 ^/discussion/topix/(.*)/posts/.*$ /discussion/topix/$1/ 

(.*) ir tveršanas grupa, kas atbilst jebko, kas ir pirms ‘ziņām’.
$1 iegūst novirzīšanas grupu kā novirzīšanas galamērķi.

  • Tas ir ideāls paldies, lai gan tas atstāj URL sākumdaļu / likmi? Vai tomēr ir jānoņem arī pēdējā URL daļa?
  • Diemžēl tas diemžēl ir pretrunā ar citu vietnes daļu, kurai ir URL, piemēram, example.com/discussion/posts/1059959, kas darbojas atšķirīgi. Vai to ir iespējams sašaurināt, lai pārbaudītu tikai / posts / aiz / topix / direktorija
  • @Randomer Skatīt rediģēšanu, tas tagad sakrīt tikai tad, ja ceļš sākas ar / diskusija / topix /
  • Lieliski liels paldies Grgarside, atbildi esmu atzīmējis kā pareizu :)
  • 2 Nav nepieciešams izvairīties no slīpsvītrām avota URL regulārajā izteiksmē. Tomēr tas nenoņems vaicājuma virkni no sākotnējā pieprasījuma (jums paliks ?rating=13..... pievienots mērķa URL beigām). Lai “tīri” noņemtu vaicājuma virkni, jums jāizmanto mod_rewrite RewriteRule direktīvu.

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

noderīga informācija