Seo Friendly URL risulta in CSS IMG e JS non funzionanti
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
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.
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="/">