[#mode_rewrite #fromPHPtoHTML #socialSharing]
Ho realizzato un blog in Drupal, in cui nei post inserisco delle foto con delle miniature cliccabili. Per poter condividere una singola foto ho aggiunto all'url del post una query string "image_n=" così da poter selezionare la singola foto da far apparire nella pagina.

da così:

http://www.andreamillozzi.it/articolo/intel-realsense-3d-hands-on-lab-ro...

a così:

http://www.andreamillozzi.it/articolo/intel-realsense-3d-hands-on-lab-ro...

Però mi sono accorto che le procedure di sharing di FB, Google+, ecc. pare non "vedano" la query string e continuino a condividere l'url dell'articolo. Cercando in rete qualcuno afferma che se si trasforma l'url in modo da far vedere la pagina come un file statico HTML, allora la condivisione funziona.

Così con mode_rewrite in .htaccess ho creato una regola che mi trasforma l'url:

http://www.andreamillozzi.it/articolo/intel-realsense-3d-hands-on-lab-ro...

in

http://www.andreamillozzi.it/articolo/intel-realsense-3d-hands-on-lab-ro...

Facendo il redirect [R=301] funziona ma il problema è che l'url cambia, invece deve restare così com'è. Inserendo il flag [L] esce fuori "Page not found". Consigli?

posto (parte) del contenuto del file .htaccess, quello di Drupal 7, a cui ho aggiunto le righe 7e8 e 10e11:

1   RewriteEngine on
2   RewriteRule ^ - [E=protossl]
3   RewriteCond %{HTTPS} on
4   RewriteRule ^ - [E=protossl:s]
5   RewriteRule ^ - [E=HTTP_AUTHORIZATION:%(HTTP:Authorization}]
6    RewriteRule "(^|/)\." - [F]
7    RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
8    RewriteRule ^(.*) http://www.%1/$1 [L,R=301,NE]
9    RewriteBase /
10  RewriteCond %{REQUEST_URI} image\-([0-9]+)\.html
11  RewriteRule ^(.*)/image-([0-9]+).html$ $1?image_n=$2 [L]
12  RewriteCond %{REQUEST_FILENAME} !-f
13  RewriteCond %{REQUEST_FILENAME} !-d
14  RewriteCond %{REQUEST_URI} !=/favicon.ico
15  RewriteRule ^ index.php [L]

RIASSUNTO PER I PIGRI:
> blog con Drupal 7, ultima versione
> anche se il metat tag og:url è impostato correttamente con la query string ?image_n=22 la funzione di sharing di FB prende solo la prima parte dell'url tralasciando tutto ciò che c'è dopo il "?"
> provando a trasformare l'url con mod_rewrite in .htaccess da
www.blog.it/miapagina?image_n=22
a
www.blog.it/miapagina/image-22.htm
con
RewriteCond %{REQUEST_URI} image\-([0-9]+)\.html
RewriteRule ^(.*)/image-([0-9]+).html$ $1?image_n=$2 [L]

mettendo il flag [R] funziona ma l'url viene modificato...
mettendo il flag [L] o niente mi da "Page not found"

COME FACCIO A FAR CONDIVIDERE LA PAGINA CON URL E LA QUERY STRING SUI SOCIAL?

Sono un programmatore sull'orlo di una crisi di nervi: CHI MI AIUTA? Grazie!