/ / URL Rewrite - Query String - .htaccess, mod-rewrite, query-string

Riscritto URL - Stringa di query - .htaccess, mod-rewrite, query-string

Ho un sito di notizie (blog) che restituisce gli URL nel seguente formato quando vengono selezionati i singoli post:

website.net/sitenews.php?q=posts/view/postname/12

Sto cercando di riscrivere l'URL in modo che legga:

website.net/sitenews.php/posts/view/postname/12

o in qualsiasi altro modo in cui il file ?q= viene rimosso allo scopo di rimuovere il file ? in modo che sia possibile accedere all'URL dal pulsante Mi piace di Facebook poiché il linter dell'URL di Facebook non analizza le stringhe di query.

Nel file htdocs .htaccess nella directory principale ho provato quanto segue:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{QUERY_STRING} q=

RewriteRule (.*) website.net/sitenews.php/$1? [R=301]

Questo rimuove con successo il file q=? tuttavia il resto della stringa (posts/view/postname/12) non viene restituito e l'URL ora appare come segue:

 website.net/sitenews.php/sitenews.php

Qualcuno ha qualche suggerimento per aiutarmi a completare questo url_rewrite?

risposte:

2 per risposta № 1

Prova questo invece nel tuo .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC]
RewriteRule ^(.*)$ /$1/%1? [R=301,L,NE]

R=301 will redirect with https status 301
L will make last rule
NE is for no escaping query string

%1 is capture group for query string q= (whatever comes after q=)
$1 is your REQUEST_URI

0 per risposta № 2

Se stai utilizzando qualsiasi CMS, come wordpress, joomla o SE, allora hai la possibilità di farlo altrimenti devi avere un .htaccess file dove puoi scrivere il codice, fai riferimento a questo link

http://roshanbh.com.np/2008/03/url-rewriting-examples-htaccess.html

http://www.webmasterworld.com/forum92/2545.htm

http://www.google.com/#sclient=psy&hl=en&q=htaccess+change+the+url&aq=0p&aqi=p-p1g4&aql=&oq=htaccess+&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=c875dd2b8adea15a