Web4Web.IT - Community Forums
costruzione stringa - Versione stampabile

+- Web4Web.IT - Community Forums (https://www.web4web.it/forum)
+-- Forum: Supporto Tecnico (/forum-21.html)
+--- Forum: Programmazione & Design (/forum-23.html)
+---- Forum: PHP (/forum-24.html)
+---- Discussione: costruzione stringa (/thread-481.html)

1 2


costruzione stringa - Elisabetta - 06-09-2011 16:16

Salve a tutti.
Sto scrivendo alcune stringhe e sono molto in dubbio su come "dire":
ogni riga che termina con "html?fb_xd_fragment"

Dunque... ^ vuol dire "che inizia con"
e $ significa "termina con"

Quindi dovrei scrivere

^html?fb_xd_fragment$
però c'è un punto interrogativo che mi crea problemi, quindi ci metto un bel \ davanti.

La stringa diventa:
^html\?fb_xd_fragment$

Confermate?
Purtroppo non ho modo di "testare"... quindi devo essere sicura di quello che inserisco.

Grazie per l'aiuto.


RE: costruzione stringa - Pirosauro - 06-09-2011 18:43

mmm no...
o meglio, non credo sia quello che vuoi. Quello che hai scritto equivale a dire
if $stringa == "html?fb_xd_fragment"
quello che probabilemte ti serve è una cosa del tipo
html\?fb_xd_fragment$
(senza ^)

se posti una stringa di esempio possiamo verificare, e magari togliere di mezzo le regexp, utilizzando substr + strpos


RE: costruzione stringa - Elisabetta - 06-09-2011 20:24

grazie Piro, gentilissimo.

Il mio problema è questo. Da gennaio uso Joomla e mi ritrovo, nella sezione "Redirect" (non so se conosci Joomla, esiste una sezione Redirect), centinaia di link del mio sito contrassegnati come "URL SCADUTI" e mi viene chiesto un "NUOVO URL".

Gli URL scaduti sono praticamente tutti i link del mio sito, ma con un
?fb_xd_fragment
di troppo....

A questo punto, invece di agire riga per riga sul pannello Joomla, volevo inserire un comando generico e globale nel file .htaccess del tipo
- Prendi tutte le richieste in entrata che terminano in .html?fb_xd_fragment
- Reindirizzale allo stesso indirizzo ma facendoli terminare solo in .html (eliminando, quindi: ?fb_xd_fragment )

Sono stata chiara?


RE: costruzione stringa - Gandalf - 06-09-2011 22:42

Non sono sicuro che il terminatore di stringa ($) possa funzionare senza l'inzio stringa (^)

Così sicuramente va:

^.*\.html\?fb_xd_fragment$


RE: costruzione stringa - Elisabetta - 07-09-2011 12:43

Grazie Druido Supremo! Blush


RE: costruzione stringa - Gandalf - 07-09-2011 12:49

Funziona ?


RE: costruzione stringa - Elisabetta - 08-09-2011 14:49

(non ci sto lavorando a tempo pieno, purtroppo)

Il comando completo quindi dovrebbe essere così:

RewriteCond ^.*\.html\?fb_xd_fragment$
RewriteRule ^.*\.html$



RE: costruzione stringa - Gandalf - 08-09-2011 15:05

Non ho capito cosa vuoi fare, sinceramente.
Le due righe che hai inserito non possono funzionare... Entrambi i comandi necessitano di due argomenti, te ne stai passando uno solo.

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond

In particolare il RewriteCond, te stai indicando il match da effettuare, ma devi effettuare il match, su cosa? Non gli hai passato la stringa sulla quale effettuare il match.


RE: costruzione stringa - Pirosauro - 08-09-2011 18:28

saccente mode ON Big Grin

(06-09-2011 22:42)Gandalf Ha scritto:  : https://www.web4web.it/forum/post-3495.html#pid3495Non sono sicuro che il terminatore di stringa ($) possa funzionare senza l'inzio stringa (^)

funziona, fidati.

(08-09-2011 14:49)Elisabetta Ha scritto:  : https://www.web4web.it/forum/post-3499.html#pid3499Il comando completo quindi dovrebbe essere così:

RewriteCond ^.*\.html\?fb_xd_fragment$
RewriteRule ^.*\.html$

no, mancano decisamente delle cose, come evidenziato da Gandalf:

(08-09-2011 15:05)Gandalf Ha scritto:  : https://www.web4web.it/forum/post-3500.html#pid3500Le due righe che hai inserito non possono funzionare... Entrambi i comandi necessitano di due argomenti, te ne stai passando uno solo.

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond

In particolare il RewriteCond, te stai indicando il match da effettuare, ma devi effettuare il match, su cosa? Non gli hai passato la stringa sulla quale effettuare il match.

Per tagliare corto, la soluzione potrebbe essere quella di eseguire un controllo sulla QUERY_STRING.
Una cosa del genere potrebbe funzionare:
Codice:
RewriteCond %{QUERY_STRING} ^fb_xd_fragment
RewriteRule ^(.*)$ http://toytomato.net\/$1? [R=301,L]
ovviamente sostituisci toytomato.net col tuo sito ed assicurati che sia prima di tutte le altre rewriterule

Fammi sapere

saccente mode OFF

p.s. quando uso il "saccente mode" di solito la prendo sui denti Big Grin Big Grin


RE: costruzione stringa - Gandalf - 08-09-2011 23:52

(08-09-2011 18:28)Pirosauro Ha scritto:  : https://www.web4web.it/forum/post-3504.html#pid3504p.s. quando uso il "saccente mode" di solito la prendo sui denti Big Grin Big Grin

:zingarelli:

spero che il tuo sistema non funzioni... |0||0||0| giusto per il gusto di poterti dire: "ti sta bene"