Results 1 to 7 of 7

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User DonDale's Avatar
    Join Date: Nov:2008
    Location: Bulgaria
    Posts: 126

    .htaccess и RewriteRule

    Здравейте,
    Имам следния проблем искам да променя линковете, които подавам.

    Пример:
    Имам следния линк:
    www.<URL>.eu/catalog.php?cat=3
    Линк, който се стремя да изкарам:
    www.<URL>.eu/catalog/category/3

    Добавих следния код в .htaccess, но от него се изпълнява промяната на главната връзка, т.е от http://<URL>.eu става http://www.<URL>.eu

    Другата преработка не се получава, връща ми същия линк.

    Ако някой може да помогне и да ми даде някакво решение, ще съм ви много благодарен.

    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        
        RewriteCond %{HTTP_HOST} ^<URL>\.eu [nc]
        RewriteRule (.*) http://www.<URL>.eu/$1 [R=301,L]
        
        RewriteRule ^category/([a-zA-Z0-9\-]+)/([0-9]+) /catalog.php?cat=$3 [nc]
    </IfModule>
    Благодаря Предварително.

  2. #2
    O HAI !!! RazorGL's Avatar
    Join Date: Aug:2005
    Location: София
    Posts: 367
    Ако погледнеш картинката много лесно ще си видиш грешката:


    Моето предложение:
    Code:
    RewriteRule catalog/(.*)/(.*)/$ /catalog.php?$1=$2
    Което ще ти даде:
    {domain}/catalog.php?category=3
    ==
    {domain}/catalog/category/3

    Но забележи може да променяш и "category".

  3. #3
    White awesomeness z0ne's Avatar
    Join Date: Feb:2002
    Location: Хасковo
    Posts: 13,331
    (.*) => ([0-9]+)

    Така е по-добре, когато се филтрират данните.

  4. #4
    lʎqouɹǝɥɔ ʎq pǝ,ɔo InfraRed's Avatar
    Join Date: Jan:2006
    Location: София/Ловеч
    Posts: 3,670
    Да предположим, че освен category=3, ще има и item=5:

    Code:
    RewriteRule ^catalog/([a-zA-Z0-9_\-]+)/([0-9]+)/$ catalog.php?$1=$2
    Това е по-универсалният код, на мястото на category може да е текстов низ, съдържащ главни и малки букви, цифри, тире и долна черта.
    my-Category_345

    catalog.php?category=3 => catalog/category/3
    catalog.php?cat=3 => catalog/cat/3
    catalog.php?item=5 => catalog.php/item/5

    В случай, че няма други възможности освен category, то:

    Code:
    RewriteRule ^catalog/category/([0-9]+)/$ catalog.php?cat=$1
    FX-8350 | X4 965 | X6 1090T | X2 555 | Athlon II X2 250 | Sempron 145 | i5 2500K | i7 3770K | DDR-881
    XOCT Bulgaria | B4K Enhanced | Shure SRH1540 & SHR840 | Audioengine D1 + Mackie MR624

  5. #5
    Registered User
    Join Date: Jul:2005
    Location: Sofiq
    Posts: 2,798
    Ето и моето виждане:
    Code:
    RewriteRule ^catalog/([^/\.\?]+)/([^/\.\?]+)/?$ catalog.php?$1=$2
    Така ти позволява линкове от сорта на:
    catalog/cat/cat_key/ -> catalog.php?cat=cat_key
    catalog/cat/cat_key -> catalog.php?cat=cat_key

    По принцип не съм привърженик на id-та в url-ите.

  6. #6
    чУека с нещата Ma57eR's Avatar
    Join Date: May:2007
    Location: София
    Posts: 414
    Но ако няма ID-та, при повече итеми/категории е възможно дублиране на името и ще стане мяу

  7. #7
    Registered User DonDale's Avatar
    Join Date: Nov:2008
    Location: Bulgaria
    Posts: 126
    Оправих ги Благодаря

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Хардуер БГ. Възможно е съдържанието на тази страница да е обект на авторски права.
iskamPC.com | mobility.BG | Bloody's Techblog | Криптовалути и майнинг | 3D Vision Blog | Магазин за електронни цигари