Results 1 to 7 of 7
Thread: .htaccess и RewriteRule
Hybrid View
-
9th May 2011 22:06 #1
.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>
-
9th May 2011 23:25 #2
Ако погледнеш картинката много лесно ще си видиш грешката:

Моето предложение:
Което ще ти даде:Code:RewriteRule catalog/(.*)/(.*)/$ /catalog.php?$1=$2
{domain}/catalog.php?category=3
==
{domain}/catalog/category/3
Но забележи може да променяш и "category".
-
12th May 2011 09:25 #3
(.*) => ([0-9]+)
Така е по-добре, когато се филтрират данните.
-
12th May 2011 11:32 #4
Да предположим, че освен category=3, ще има и item=5:
Това е по-универсалният код, на мястото на category може да е текстов низ, съдържащ главни и малки букви, цифри, тире и долна черта.Code:RewriteRule ^catalog/([a-zA-Z0-9_\-]+)/([0-9]+)/$ catalog.php?$1=$2
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
-
12th May 2011 17:53 #5Registered 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-ите.
-
17th May 2011 09:19 #6
Но ако няма ID-та, при повече итеми/категории е възможно дублиране на името и ще стане мяу
-
17th May 2011 14:54 #7




Reply With Quote

Lenovo ThinkPad 15 или IdeaPad 15
5th May 2023, 22:16 in Мобилни компютри