• Bannato User Attivo

    Aggiungere regole al rewrite

    Usando una hacks trovata sul sito "principale" di MKportal (un CMS), sono riuscito a rendere gli url un po più friendly; se creo nuove pagine, l'url diventa il titolo+.html, ottimo! Il problema è per il modulo dei download, in pratica mi crea un indirizzo del tipo
    ..downloads-section-1.html per la sezione e
    ..downloads-file-1.html per il file,
    mentre io vorrei
    ..Nome-Sezione-1.html per la sezione e
    ..nome-file-1.html per il file (in pratica, vorrei che prendesse il titolo dell'oggetto in download).

    Riporto le modifiche che potrebbero influenzare che ho fatto:
    al file **.htaccess **aggiunto

    
    RewriteEngine On
    
    RewriteRule ^index\.html /index.php 
    
    RewriteRule [.]*-page\-([0-9]*)\.html /index.php?pid=$1 
    
    RewriteRule ^downloads\.html /index.php?ind=downloads 
    RewriteRule ^downloads\-section\-([0-9]*)\.html /index.php?ind=downloads&op=section_view&idev=$1 
    RewriteRule ^downloads\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=downloads&op=section_view&idev=$1&order=&st=$2 
    RewriteRule ^downloads\-file\-([0-9]*)\.html /index.php?ind=downloads&op=entry_view&iden=$1 
    RewriteRule ^downloads\-submit\.html /index.php?ind=downloads&op=submit_file 
    RewriteRule ^downloads\-addfile\.html /index.php?ind=downloads&op=add_file 
    RewriteRule ^downloads\-editfile-([0-9]*)\.html /index.php?ind=downloads&op=update_file&iden=$1 
    RewriteRule ^downloads\-search\.html /index.php?ind=downloads&op=search 
    RewriteRule ^downloads\-searchresult\.html /index.php?ind=downloads&op=result_search 
    RewriteRule ^downloads\-comment-([0-9]*)\.html /index.php?ind=downloads&op=submit_comment&ide=$1 
    RewriteRule ^downloads\-rate-([0-9]*)\.html /index.php?ind=downloads&op=submit_rate&ide=$1 
    RewriteRule ^downloads\-edit-([0-9]*)\.html /index.php?ind=downloads&op=edit_file&iden=$1 
    RewriteRule ^downloads\-delete-([0-9]*)\.html /index.php?ind=downloads&op=del_file&iden=$1 
    
    
    RewriteRule ^blog\.html /index.php?ind=blog 
    RewriteRule ^blog\-([0-9]*)\.html /index.php?ind=blog&op=home&idu=$1 
    RewriteRule ^blog\-rate-([0-9]*)\.html /index.php?ind=blog&op=submit_rate&ide=$1 
    RewriteRule ^blog\-comment-([0-9]*)-([0-9]*)\.html /index.php?ind=blog&op=home&idu=$1&singlepost=$2 
    
    RewriteRule ^gallery\.html /index.php?ind=gallery 
    RewriteRule ^gallery\-section\-([0-9]*)\.html /index.php?ind=gallery&op=section_view&idev=$1 
    RewriteRule ^gallery\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=gallery&op=section_view&idev=$1&order=&st=$2 
    RewriteRule ^gallery\-image\-([0-9]*)\.html /index.php?ind=gallery&op=foto_show&ida=$1 
    RewriteRule ^gallery\-search\.html /index.php?ind=gallery&op=search 
    RewriteRule ^gallery\-searchresult\.html /index.php?ind=gallery&op=result_search 
    RewriteRule ^gallery\-submit\.html /index.php?ind=gallery&op=submit_file 
    RewriteRule ^gallery\-addfile\.html /index.php?ind=gallery&op=add_file 
    RewriteRule ^gallery\-editfile-([0-9]*)\.html /index.php?ind=gallery&op=update_file&iden=$1 
    RewriteRule ^gallery\-present\.html /index.php?ind=gallery&op=slide_start 
    RewriteRule ^gallery\-ecard\-([0-9]*)\.html /index.php?ind=gallery&op=submit_postcard&ide=$1 
    RewriteRule ^gallery\-comment\-([0-9]*)\.html /index.php?ind=gallery&op=submit_comment&ide=$1 
    RewriteRule ^gallery\-rate\-([0-9]*)\.html /index.php?ind=gallery&op=submit_rate&ide=$1 
    RewriteRule ^gallery\-edit\-([0-9]*)\.html /index.php?ind=gallery&op=edit_file&iden=$1 
    RewriteRule ^gallery\-delete\-([0-9]*)\.html /index.php?ind=gallery&op=del_file&iden=$1 
    
    RewriteRule ^news\.html /index.php?ind=news 
    RewriteRule ^news\-section\-([0-9]*)\.html /index.php?ind=news&op=news_show_category&idc=$1 
    RewriteRule ^news\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=news&op=news_show_category&idc=$1&order=&st=$2 
    RewriteRule ^news\-([0-9]*)\.html /index.php?ind=news&op=news_show_single&ide=$1 
    RewriteRule ^news\-submit\.html /index.php?ind=news&op=submit_news 
    RewriteRule ^news\-addnews\.html /index.php?ind=news&op=reg_data 
    RewriteRule ^news\-editnews-([0-9]*)\.html /index.php?ind=news&op=update_news&idnews=$1 
    RewriteRule ^news\-search\.html /index.php?ind=news&op=search 
    RewriteRule ^news\-searchresult\.html /index.php?ind=news&op=result_search 
    RewriteRule ^news\-edit\-([0-9]*)\.html /index.php?ind=news&op=edit&idnews=$1 
    RewriteRule ^news\-delete\-([0-9]*)\.html /index.php?ind=news&op=delete&idnews=$1 
    RewriteRule ^news\-comment\-([0-9]*)\.html /index.php?ind=news&op=submit_comment&idnews=$1 
    
    
    RewriteRule ^topsite\.html /index.php?ind=topsite 
    RewriteRule ^site\-([0-9]*)\.html /index.php?ind=topsite&op=click_site&idb=$1 
    RewriteRule ^rate-site\-([0-9]*)\.html /index.php?ind=topsite&op=submit_rate&ide=$1 
    RewriteRule ^topsite-submit\.html /index.php?ind=topsite&op=submit_site 
    
    RewriteRule ^reviews\.html /index.php?ind=reviews 
    RewriteRule ^reviews\-section\-([0-9]*)\.html /index.php?ind=reviews&op=section_view&idev=$1 
    RewriteRule ^reviews\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=reviews&op=section_view&idev=$1&order=&st=$2 
    RewriteRule ^reviews\-([0-9]*)\.html /index.php?ind=reviews&op=entry_view&iden=$1 
    RewriteRule ^reviews\-search\.html /index.php?ind=reviews&op=search 
    RewriteRule ^reviews\-searchresult\.html /index.php?ind=reviews&op=result_search 
    RewriteRule ^reviews\-submit\.html /index.php?ind=reviews&op=submit_file 
    RewriteRule ^reviews\-submitfile\.html /index.php?ind=reviews&op=submit_file1 
    RewriteRule ^reviews\-addfile\.html /index.php?ind=reviews&op=add_file 
    RewriteRule ^reviews\-editfile-([0-9]*)\.html /index.php?ind=reviews&op=update_file&iden=$1 
    RewriteRule ^reviews\-comment\-([0-9]*)\.html /index.php?ind=reviews&op=submit_comment&ide=$1 
    RewriteRule ^reviews\-rate\-([0-9]*)\.html /index.php?ind=reviews&op=submit_rate&ide=$1 
    RewriteRule ^reviews\-edit\-([0-9]*)\.html /index.php?ind=reviews&op=edit_file&iden=$1 
    RewriteRule ^reviews\-delete\-([0-9]*)\.html /index.php?ind=reviews&op=del_file&iden=$1 
    
    RewriteRule ^quote\.html /index.php?ind=quote 
    RewriteRule ^quote\-submit\.html /index.php?ind=quote&op=submit_quote 
    
    RewriteRule ^chat\.html /index.php?ind=chat 
    
    RewriteRule ^staff\.html /index.php?ind=staff 
    
    RewriteRule ^shoutbox\.html /index.php?ind=urlobox 
    RewriteRule ^shoutbox-delete-([0-9]*)\.html /index.php?ind=urlobox&op=delete&idurlo=$1
    
    RewriteRule ^websites\.html /index.php?ind=websites 
    RewriteRule ^websites\-section\-([0-9]*)\.html /index.php?ind=websites&op=section_view&idev=$1 
    RewriteRule ^websites\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=websites&op=section_view&idev=$1&order=&st=$2 
    RewriteRule ^websites\-([0-9]*)\.html /index.php?ind=websites&op=entry_view&iden=$1 
    RewriteRule ^websites\-search\.html /index.php?ind=websites&op=search 
    RewriteRule ^websites\-searchresult\.html /index.php?ind=websites&op=result_search 
    RewriteRule ^websites\-submit\.html /index.php?ind=websites&op=submit_file 
    RewriteRule ^websites\-submitsite\.html /index.php?ind=websites&op=submit_file1 
    RewriteRule ^websites\-addsite\.html /index.php?ind=websites&op=add_file 
    RewriteRule ^websites\-editsite-([0-9]*)\.html /index.php?ind=websites&op=update_file&iden=$1 
    RewriteRule ^websites\-comment\-([0-9]*)\.html /index.php?ind=websites&op=submit_comment&ide=$1 
    RewriteRule ^websites\-rate\-([0-9]*)\.html /index.php?ind=websites&op=submit_rate&ide=$1 
    RewriteRule ^websites\-edit\-([0-9]*)\.html /index.php?ind=websites&op=edit_file&iden=$1 
    RewriteRule ^websites\-delete\-([0-9]*)\.html /index.php?ind=websites&op=del_file&iden=$1 
    RewriteRule ^websites\-badlink\-([0-9]*)\.html /index.php?ind=websites&op=submit_badlink&ide=$1 
    
    RewriteRule ^articoli\.html /index.php?ind=articoli 
    RewriteRule ^articoli\-section\-([0-9]*)\.html /index.php?ind=articoli&op=section_view&idev=$1 
    RewriteRule ^articoli\-section\-([0-9]*)-([0-9]*)\.html /index.php?ind=articoli&op=section_view&idev=$1&order=&st=$2 
    RewriteRule ^articoli\-([0-9]*)\.html /index.php?ind=articoli&op=entry_view&iden=$1 
    RewriteRule ^articoli\-search\.html /index.php?ind=articoli&op=search 
    RewriteRule ^articoli\-searchresult\.html /index.php?ind=articoli&op=result_search 
    RewriteRule ^articoli\-submit\.html /index.php?ind=articoli&op=submit_file 
    RewriteRule ^articoli\-submitfile\.html /index.php?ind=articoli&op=submit_file1 
    RewriteRule ^articoli\-addsite\.html /index.php?ind=articoli&op=add_file 
    RewriteRule ^articoli\-editfile-([0-9]*)\.html /index.php?ind=articoli&op=update_file&iden=$1 
    RewriteRule ^articoli\-comment\-([0-9]*)\.html /index.php?ind=articoli&op=submit_comment&ide=$1 
    RewriteRule ^articoli\-rate\-([0-9]*)\.html /index.php?ind=articoli&op=submit_rate&ide=$1 
    RewriteRule ^articoli\-edit\-([0-9]*)\.html /index.php?ind=articoli&op=edit_file&iden=$1 
    RewriteRule ^articoli\-delete\-([0-9]*)\.html /index.php?ind=articoli&op=del_file&iden=$1 
    ```al file **include/functions.php** aggiunto
    

    function rewrite_url($url) {

                    $url = trim($url);
                    $url = strtolower($url);
                    $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
                    $url = str_replace ('<br />', '', $url);
                    $url = str_replace (' ', '-', $url);
    
                    $find = array('é',
                                    'è',
                                  'ë',
                                  'ê'
                                  );
                    $url = str_replace ($find, 'e', $url);
    
                    $find = array('í',
                                    'ì',
                                  'î',
                                  'ï'
                                  );
                    $url = str_replace ($find, 'i', $url);
    
                    $find = array('ó',
                                    'ò',
                                  'ô',
                                  'ö');
                    $url = str_replace ($find, 'o', $url);
    
                    $find = array('á',
                                    'à',
                                  'â',
                                  'ä'
                                  );
                    $url = str_replace ($find, 'a', $url);
    
                    $find = array('ú',
                                    'ù',
                                  'û',
                                  'ü'
                                  );
                    $url = str_replace ($find, 'u', $url);
    
                    $find = array('ç');
                    $url = str_replace ($find, 'c', $url);
    
                    $url = str_replace ('--', '-', $url);
    
                    return $url;
                   }    
    
        $search = array ("/index.php\?pid=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e",
                         '@index.php\?ind=downloads&amp;op=section_view&amp;idev=([0-9]+)&amp;order=&amp;st=([0-9]+)@si',
                           '@index.php\?ind=downloads&amp;op=section_view&amp;idev=([0-9]+)@si',
                           '@index.php\?ind=downloads&amp;op=entry_view&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=downloads&amp;op=submit_file@si',
                         '@index.php\?ind=downloads&amp;op=add_file@si',
                         '@index.php\?ind=downloads&amp;op=update_file&amp;iden=([0-9]+)@si',
                           '@index.php\?ind=downloads&amp;op=search@si',
                         '@index.php\?ind=downloads&amp;op=result_search@si',
                           '@index.php\?ind=downloads&amp;op=submit_comment&amp;ide=([0-9]+)@si',
                           '@index.php\?ind=downloads&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=downloads&amp;op=edit_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=downloads&amp;op=del_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=section_view&amp;idev=([0-9]+)&amp;order=&amp;st=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=section_view&amp;idev=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=foto_show&amp;ida=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=search@si',
                         '@index.php\?ind=gallery&amp;op=result_search@si',
                         '@index.php\?ind=gallery&amp;op=slide_start@si',
                         '@index.php\?ind=gallery&amp;op=add_file@si',
                         '@index.php\?ind=gallery&amp;op=update_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=submit_file@si',
                         '@index.php\?ind=gallery&amp;op=submit_postcard&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=submit_comment&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=edit_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=gallery&amp;op=del_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=news_show_category&amp;idc=([0-9]+)&amp;st=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=news_show_category&amp;idc=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=news_show_single&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=submit_news@si',
                         '@index.php\?ind=news&amp;op=reg_data@si',
                         '@index.php\?ind=news&amp;op=update_news&amp;idnews=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=search@si',
                         '@index.php\?ind=news&amp;op=result_search@si',
                         '@index.php\?ind=news&amp;op=edit&amp;idnews=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=delete&amp;idnews=([0-9]+)@si',
                         '@index.php\?ind=news&amp;op=submit_comment&amp;idnews=([0-9]+)@si',
                         '@index.php\?ind=topsite&amp;op=click_site&amp;idb=([0-9]+)@si',
                         '@index.php\?ind=topsite&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=topsite&amp;op=submit_site@si',
                         '@index.php\?ind=reviews&amp;op=section_view&amp;idev=([0-9]+)&amp;order=&amp;st=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=section_view&amp;idev=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=entry_view&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=result_search@si',
                         '@index.php\?ind=reviews&amp;op=search@si',
                         '@index.php\?ind=reviews&amp;op=add_file@si',
                         '@index.php\?ind=reviews&amp;op=update_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=submit_file1@si',
                         '@index.php\?ind=reviews&amp;op=submit_file@si',
                         '@index.php\?ind=reviews&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=edit_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=del_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;op=submit_comment&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=reviews&amp;order=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=section_view&amp;idev=([0-9]+)&amp;order=&amp;st=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=section_view&amp;idev=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=entry_view&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=result_search@si',
                         '@index.php\?ind=articoli&amp;op=search@si',
                         '@index.php\?ind=articoli&amp;op=add_file@si',
                         '@index.php\?ind=articoli&amp;op=update_file&amp;iden=([0-9]+)@si', 
                         '@index.php\?ind=articoli&amp;op=submit_file1@si',
                         '@index.php\?ind=articoli&amp;op=submit_file@si',
                         '@index.php\?ind=articoli&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=edit_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=del_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=articoli&amp;op=submit_comment&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=section_view&amp;idev=([0-9]+)&amp;order=&amp;st=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=section_view&amp;idev=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=entry_view&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=result_search@si', 
                         '@index.php\?ind=websites&amp;op=search@si',
                         '@index.php\?ind=websites&amp;op=add_file@si',
                         '@index.php\?ind=websites&amp;op=update_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=submit_file1@si',
                         '@index.php\?ind=websites&amp;op=submit_file@si',
                         '@index.php\?ind=websites&amp;op=submit_rate&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=edit_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=del_file&amp;iden=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=submit_comment&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=websites&amp;op=submit_badlink&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=blog&amp;op=home&amp;idu=([0-9]+)@si',  
                          );
        $replace = array ("rewrite_url('\\6').'-page-\\1.html'. stripslashes('\\5\\6') . '</a>'",
                          'downloads-section-\\1-\\2.html',
                             'downloads-section-\\1.html',
                             'downloads-file-\\1.html',
                          'downloads-submit.html',
                          'downloads-addfile.html',
                          'downloads-editfile-\\1.html',
                             'downloads-search.html',
                          'downloads-searchresult.html',
                          'downloads-comment-\\1.html',
                          'downloads-rate-\\1.html',
                          'downloads-edit-\\1.html',
                          'downloads-delete-\\1.html',
                          'gallery-section-\\1-\\2.html',
                          'gallery-section-\\1.html',
                          'gallery-image-\\1.html',
                          'gallery-search.html',
                          'gallery-searchresult.html',
                          'gallery-present.html',
                          'gallery-addfile.html',
                          'gallery-editfile-\\1.html',
                          'gallery-submit.html',
                          'gallery-ecard-\\1.html',
                          'gallery-comment-\\1.html',
                          'gallery-rate-\\1.html',
                          'gallery-edit-\\1.html',
                          'gallery-delete-\\1.html',
                          'news-section-\\1-\\2.html', 
                          'news-section-\\1.html',
                          'news-\\1.html',
                          'news-submit.html',
                          'news-addnews.html', 
                          'news-editnews-\\1.html', 
                          'news-search.html', 
                          'news-searchresult.html',
                          'news-edit-\\1.html',
                          'news-delete-\\1.html',
                          'news-comment-\\1.html',
                          'site-\\1.html',
                          'rate-site-\\1.html',
                          'topsite-submit.html',
                          'reviews-section-\\1-\\2.html',
                          'reviews-section-\\1.html',
                          'reviews-\\1.html',
                          'reviews-searchresult.html',
                          'reviews-search.html',
                          'reviews-addfile.html',
                          'reviews-editfile-\\1.html',
                          'reviews-submitfile.html',
                          'reviews-submit.html',
                          'reviews-rate-\\1.html',
                          'reviews-edit-\\1.html',
                          'reviews-delete-\\1.html',
                          'reviews-comment-\\1.html',
                          'reviews-sectionorder-\\1.html',
                          'articoli-section-\\1-\\2.html', 
                          'articoli-section-\\1.html',
                          'articoli-\\1.html',
                          'articoli-searchresult.html',
                          'articoli-search.html',
                          'articoli-addfile.html',
                          'articoli-editfile-\\1.html',
                          'articoli-submitfile.html',
                          'articoli-submit.html',
                          'articoli-rate-\\1.html',
                          'articoli-edit-\\1.html',
                          'articoli-delete-\\1.html',
                          'articoli-comment-\\1.html',
                          'websites-section-\\1-\\2.html',
                          'websites-section-\\1.html',
                          'websites-\\1.html',
                          'websites-searchresult.html',
                          'websites-search.html',
                          'websites-addsite.html',
                          'websites-editsite-\\1.html',
                          'websites-submitsite.html',
                          'websites-submit.html',
                          'websites-rate-\\1.html',
                          'websites-edit-\\1.html',
                          'websites-delete-\\1.html',
                          'websites-comment-\\1.html',
                          'websites-badlink-\\1.html',
                          'blog-\\1.html', 
                          );  
        $output = preg_replace($search, $replace, $content);  
        
        return $output;
    }
    
    
    Il CMS è MKportal su forum phpBB con rewrite attivato e funzionante.
    L'urlo dove provare con mano ciò di cui parlo è
    **http://www.elencositi.netsons.org** 
    la parte del download che m'interessa è visibile all'indirizzo
    **http://www.elencositi.netsons.org/downloads-section-1.html**
    
    PS: è un sito che uso come test
    
    Grazie in anticipo!