Wordpress restituisce 404 in caso di conflitto di regole di riscrittura personalizzate nei parametri
-
-
hai svuotato le regole di riscrittura?have you flushed rewrite rules?
- 0
- 2013-06-07
- Tom J Nowell
-
si,lofaccio ogni volta che aggiornoilmio codice ..yes, im doing it everytime i update my code..
- 0
- 2013-06-07
- reikyoushin
-
Corrisponde all'analizzatore di riscritturamonkeyman?Does it match in monkeyman rewrite analyser?
- 0
- 2013-06-07
- Tom J Nowell
-
Cos'è quello?o.O?corrisponde allaparte dellatassonomia,ilproblema è seinvece di unatassonomia unpostpersonalizzato ènelparametro .. quindi hobisogno di uninterruttore che consenta sia latassapersonalizzata cheiltipo dipostpersonalizzato sul 2 °parametro `#basename/(.+)/[qui]/(. +)/? $ # `what is that? o.O? it matches the taxonomy part, the problem is if instead of a taxonomy a custom post is in the parameter.. so i need a switch that would allow both custom tax and custom post type on the 2nd param `#basename/(.+)/[here]/(.+)/?$#`
- 0
- 2013-06-07
- reikyoushin
-
in altreparole,iltipo dipostpersonalizzatopuòessere sia sul 2 ° che sul 3 °parametro,latassonomia è a due livelli,quindi l'aggiunta deltipo dipostnellatassonomiafigliofunziona,ma aggiungendolo allatassonomiagenitore si otterrebbe un 404 ..in other words, the custom post type can be both on the 2nd and 3rd param, the taxonomy is two levels so adding the post type in the child taxonomy works, but adding it to the parent taxonomy would render a 404..
- 0
- 2013-06-07
- reikyoushin
-
è unpluginestremamente utileper riscrivere le regole,inserisci un URLe timostra quali regole corrispondonoe in ordine diprioritàe cosa vieneestratto.Latua regolapotrebbe corrisponderemaesseretroppo ampia otroppo avanzatanelprocessoe un'altra regola la catturait's a plugin that is extremely useful for rewrite rules, you put in a URL and it shows you which rules match and in priority order, and what is extracted. Your rule may well match but be too broad or too late in the process and another rule catches it
- 0
- 2013-06-07
- Tom J Nowell
-
hmmm aspetta,vuoiiltipo dipostpersonalizzato come secondoparametro?Ma questo suggerisce cheiltuoproblemanon hanulla a chefare con latua domanda.Latua domanda dice che ho le regole di riscrittura Xma ottengo un 404,no,comefaccio ainserireiltipo dipostpersonalizzatoin questa regola di riscritturahmmm wait you want the custom post type as the second parameter? But this suggests your problem has nothing to do with your question. Your question says I have rewrite rules X but get a 404, not, how do I put the custom post type in this rewrite rule
- 0
- 2013-06-07
- Tom J Nowell
-
Ehi,haitrovato la soluzioneper questo @reikyoushinHey did you find the solution for this @reikyoushin
- 0
- 2017-08-10
- Pullata Praveen
-
1 risposta
- voti
-
- 2013-06-07
Hai:
- Una regola di riscrittura chegestisceilpost che sitrovanella quintaparte
- Una regola di riscritturapergestire laparte dellatassonomia
Una regola di riscritturapergestireilpost che sitrovanella seconda oterzapartenon ènell'elenco sopra,eccoperché ottieni un 404.
Seprendiamo questa regola di riscrittura:
$newRules['basename/(.+)/(.+)/(.+)/(.+)/?$'] = 'index.php?custom_post_type_name=$matches[4]'; // my custom structure will always have the post name as the 5th uri segment
Emodificalo leggermente usando unpo 'dibuon senso,ovvero:
basename/<"(.+)/(.+)/(.+)/(.+) /? $ ....
custom_post_type_name=$matches[<"4 ]
//lamia strutturapersonalizzata avrà sempreilnome delpost come 5 th uri segmento
basename/<"(.+)/(.+)/(.+) /? $ ....
custom_post_type_name=$matches[<"3 ]
//lamia strutturapersonalizzata avrà sempreilnome delpost come 4 th uri segmento
basename/<"(.+)/(.+) /? $ ....
custom_post_type_name=$matches[<"2 ]
//lamia strutturapersonalizzata avrà sempreilnome delpost come 3 th uri segmento
ecc
Inserisciliin ordine crescenteprima della regolaesistentee ripetitutte le volte che ènecessario
You have:
- A rewrite rule that handles the post being in the 5th part
- A rewrite rule to handle the taxonomy part
A rewrite rule to handle the post being in the 2nd or 3rd part isn't in the above list, hence why you get a 404.
If we take this rewrite rule:
$newRules['basename/(.+)/(.+)/(.+)/(.+)/?$'] = 'index.php?custom_post_type_name=$matches[4]'; // my custom structure will always have the post name as the 5th uri segment
And modify it slightly using some common sense, namely:
basename/(.+)/(.+)/(.+)/(.+)/?$ ....
custom_post_type_name=$matches[4]
// my custom structure will always have the post name as the 5 th uri segment
basename/(.+)/(.+)/(.+)/?$ ....
custom_post_type_name=$matches[3]
// my custom structure will always have the post name as the 4 th uri segment
basename/(.+)/(.+)/?$ ....
custom_post_type_name=$matches[2]
// my custom structure will always have the post name as the 3 th uri segment
etc
Place these in ascending order prior to your existing rule, and repeat as many times as is necessary
-
ooops,hogiàmodificatoilmio codice dall'originale (inseriròilmio codice sopra),non ottengo un 404 sul 2 °e 3 ° URL diesempio.perfavoreguarda.Grazie!ooops, i've already adjusted my code from the original (will post my code on top), i dont get a 404 on the 2nd and 3rd sample url. please see. thanks!
- 0
- 2013-06-07
- reikyoushin
-
l'unica volta che ricevo un 404 è quandoilpost è sotto latassonomiagenitore,se è sotto latassonomiafiglio vatuttobene ..the only time i get a 404 is when the post is under the parent taxonomy, if its under the child taxonomy everything is fine..
- 0
- 2013-06-07
- reikyoushin
Ho seguitoi passaggi su rispondi qui e hafunzionato ameraviglia.
Mailmioproblema è da questaparte,
sull'originale:
lamia versione:
Poiché lamiatassonomia ha due livelli,non è statoin grado di riconoscere seil secondoparametro (
custom-post-type-base/(.+)/[here]/
) è unpostpersonalizzato o unatassonomiapersonalizzata .. restituisce correttamente sullatassonomiapersonalizzatama restituisce 404 su untipo di articolopersonalizzato coniltipo di articolo classificatonellatassonomiapadre.Vedi URL diesempio: