Seo Friendly URL risulta in CSS IMG e JS non funzionanti

Jul 06 2015

Voglio rendere il mio URL come URL SEO Friendly. Ho provato a modificare il .htaccessfile riscrivendo la regola

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id=$1 [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]

Sta instradando l'URL corretto ma in quella pagina CSS JS e le immagini non funzionano.

URL di esempio:

http://www.example.com/swift-details/2/abblinbb

Risposte

5 MaggsWeb Jul 06 2015 at 16:08

Non hai bisogno della seconda regola di riscrittura. I tuoi percorsi CSS / JS sono tutti "relativi" alla tua posizione corrente.

Il tuo CSS esiste qui: /css/normalize.css

La tua pagina sta cercando qui: /swift-details/2/abblinbb/css/normalize.css

Tutto ciò di cui hai bisogno sono 'barre in avanti' prima dei tuoi percorsi CSS / JS.

10 AmitVerma Jul 06 2015 at 16:18

Questo perché i tuoi URI relativi hanno cambiato la loro base. In origine, la base è /quando la pagina è /swift-details.php?id=fooe il browser riempie correttamente i collegamenti relativi con la /base. Ma quando il browser va a una pagina come /swift/details/foola base diventa improvvisamente /swift/e cerca di aggiungerla davanti a tutti gli URL relativi e quindi nessuno di loro viene caricato.

Puoi rendere i tuoi collegamenti assoluti o modificare la base dell'URI nell'intestazione delle tue pagine (tra i <head> </head>tag):

<base href="/">