sayfadaki tüm linkler devralarak mod_rewrite

3 Cevap php

Hi I've used mod_rewrite to rewrite links on my site like so:

mysite.com/store/<store_id>/<store_name>/<page>
mysite.com/store.php?id=<store_id>&page=<page>

örneğin:

mysite.com/store/1313/johnny-walker-inc/13
mysite.com/store.php?id=1313&page=13

However, as a result, all my links that we're relationally placed now start at the end of the link, örneğin:

mysite.com/send_message.php

olmuş

mysite.com/store/1313/johnny-walker-inc/send_message.php

Bunu nasıl düzeltebilirim?

İşte benim mod_rewrite kodu olması durumunda onunla bir hata yapıyorum:


RewriteRule ^store/([0-9]+)/[^/]+/([0-9]+)$ store.php?storeid=$1&page=$2 [L]

Teşekkürler!

3 Cevap

Sen kök linkler göreli yapmak gerekir, gibi pek:

<a href="/send_message.php">link</a>

Önce çizgi Not send_message.php.

Ben şahsen tek bir çözüm görmek: Sadece tüm bağlantıları mutlak yapmak. Doğrudan mod_rewrite ile ilgili bir sorun, ama bu bağlantıları yorumlama tarayıcılar yol değil. Onların bakış açısıyla bir dizin yapısı var ve buna göre göreli konumunu yorumlamak.

Diğer çözümler BASE href ya da sadece müşteri gösteren konum hayali bağlam kök tarafından başvurulan tüm sayfa öğelerini yeniden içerir.