Преобразование всех ссылок на сайте как?

Статус
В этой теме нельзя размещать новые ответы.

avgaz

Участник
Регистрация
18 Окт 2006
Сообщения
189
Реакции
7
Добрый день.
Вопрос в следующем, как преобразовать все ссылки на сайте под ЧПУ
то есть с htaccess все понятно а вот все существующие ссылки как преобразовать для этого
С час делаю через
preg_replace($search, $replace, $content);
Где первые две переменные массивы что на что заменить
Но это очень долго нужно каждую ссылку прописывать и тд
может есть способ по другому?
 
извини, но телепаты умерли, что за сайт, самописный или движок, больше конеретинки давай. :)
 
Если имелось ввиду преобразование внешних ссылок во внутренние, погуглите по запросу "No External Links".
Если нужна конкретика, укажите движок сайта.
 
Движок MKPortal
ссылки вида
index.php?ind=reviews&op=section_view&idev=2
index.php?ind=news&op=news_show_category&idc=2

и тд...
 
Можно например вот так:

Код:
RewriteEngine On
RewriteRule reviews-section-(.*)\.html index.php?ind=reviews&op=section_view&idev=$1
RewriteRule news-category-(.*)\.html index.php?ind=news&op=news_show_category&idc=$1

т.е. URL'ы будут вида:
  • reviews-section-2.html
  • news-category-2.html
 
C htaccess все понятно меня интересует вопрос как на сайте преобразовать ссылки что бы они имели вид
reviews/section/2.html
 
C htaccess все понятно меня интересует вопрос как на сайте преобразовать ссылки что бы они имели вид
reviews/section/2.html
типа так?
PHP:
<?
$content = "link1: index.php?ind=news&op=news_show_category&idc=2, link2: index.php?ind=reviews&op=section_view&idev=2";
$link = preg_replace("#index\.php\?ind=(.*?)&op=(.*?)&id([a-z]+)=([0-9]+)#", "\\1/\\2/\\4.html", $content);
echo $link;
/*на выходе получим:
link1: news/news_show_category/2.html, link2: reviews/section_view/2.html
*/
?>
 
С час делается так
Код:
$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=blog&amp;op=home&amp;idu=([0-9]+)@si',
        
                         '@index.php\?ind=poll&amp;op=poll_show&amp;poll_id=([0-9]+)@si',
                         '@index.php\?ind=poll&amp;op=poll_result&amp;poll_id=([0-9]+)@si',
                         '@index.php\?ind=poll&amp;op=del_comment&amp;idcomm=([0-9]+)&amp;ide=([0-9]+)@si',
                         '@index.php\?ind=poll&amp;op=add_comment@si',
                         '@index.php\?ind=poll&amp;op=poll_save@si',
                         '@index.php\?ind=poll@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',
                          'blog-\\1.html',
                          
                          'poll-show-\\1.html', 
                          'poll-result-\\1.html',
                          'poll-deletecom-\\1-\\2.html',
                          'poll-addcoment.html',
                          'poll-save.html',
                          'poll\\1.html',
                          );  
        $output = preg_replace($search, $replace, $content);  
        
        return $output;
Нужно каждую ссылку прописывать
можно как то облегчить задачу?
 
Ето вообще не вариант ищи место где фармируються линка и отправляй уже обработанную
P.S. Не работал с такой СMS и нету у мну ее под рукой поетому и кода привести не могу :(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху