natasha Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 Witam. Od dłuższego czasu męczę się z takim zagadnieniem: Mam sklep oparty na oscommerce i chciałabym żeby producenci byli subdomeną czyli np. pampers.domena.pl W teju chwili mam zainstalowany moduł dla przyjaznych linków który za pomocą htaccess zmienia adres z formy np. domena.pl/index.php?manufacturers_id=145 na domena.pl/pampers-m-145.html za pomocą chyba tej linijki kodu: RewriteRule ^(.*)-m-([0-9]+)$ index.php?manufacturers_id=$2&%{QUERY_STRING} Za pomocą jakiego kodu zamienić postać domena.pl/index.php?manufacturers_id=145 na pampers.domena.pl ?????? Próbowałam zrobi tak aby zamienić już zamieniony adres domena.pl/pampers-m-145.html na pampers.domena.pl ale nie dałam rady. Później chciałam spróbować pogrzebać na tym pierwotnym adresie czyli w takie formie domena.pl/index.php?manufacturers_id=145 i udało mi sie tylko zaminić do takie formy: 145.domena.pl a nie o to chodziło - zrobiłam to za pomoca kodu: RewriteCond %{HTTP_HOST} !^www.domena.pl$ RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$ RewriteRule .* ?manufacturers_id=%2 Proszę o pomoc, przegrzebałam google itd. i nie mogę sobie poradzic, będe wdzięczna Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
michalk Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 1. Jesteś pewna, że wybrałeś odpowiedni dział? 2. Czy masz włączony wildcard? Baza firm | Pranie dywanów | Meble Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 1. Jesteś pewna, że wybrałeś odpowiedni dział?2. Czy masz włączony wildcard? 1. Nie jestem pewna 2. skoro działa mi np. 85.domena.pl to pewnie tak. jak mogę to sprawdzić?? mam hosting w home.pl Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Trotyl Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 Chyba najłatwiej to zrobić w php - ustawić zmienną $_GET['manufacturers_id'] w zależności od $_SERVER['HTTP_HOST'] a do .ht wprowadzić tylko niezbędne poprawki. E: Bo zamiana nazwy producenta na id wymagała by masę regułek w ht. A w php można użyć na sztywno tablicy asocjacyjnej producent=>id lub dodać tabelę do bazy (raczej taka już istnieje). Jest jeszcze możliwość użycia takich subdomen pampers85.domena.pl , ale kiepsko to wygląda. I to: https://httpd.apache.org/docs/1.3/mod/mod_r...te.html#mapfunc . nihil fit sine causa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 Chyba najłatwiej to zrobić w php - ustawić zmienną $_GET['manufacturers_id'] w zależności od $_SERVER['HTTP_HOST'] a do .ht wprowadzić tylko niezbędne poprawki.E: Bo zamiana nazwy producenta na id wymagała by masę regułek w ht. A w php można użyć na sztywno tablicy asocjacyjnej producent=>id lub dodać tabelę do bazy (raczej taka już istnieje). E2: Jest jeszcze możliwość użycia takich subdomen pampers85.domena.pl , ale kiepsko to wygląda. wszystko pięknie tylko jak zabrać się za ten php ?? już od kilku dni nad tym siedze :/ az w koncu postanowiłam męczyć htaccess a ta E2 - trudna sprawa ?? subdomen pampers85.domena.pl może byc na chwilke dobrym rozwiązaniem chociaż docelowo zależy mi na pampers.domena.pl... trudno jest mi ogarnąć dlaczego z liczbą mozna a już bez niej jest cięzko. Trotyl jezeli potrafisz zrobić z liczbą w subdomenie to równiez prosze o podpowiedź ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Trotyl Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 Możesz spróbować tego: https://httpd.apache.org/docs/1.3/mod/mod_r...te.html#mapfunc Ale to rozwiązanie także jest toporne bo będzie wymagało ręcznej aktualizacji w razie zmiany asortymentu. Opłaca się w ogóle ten sklep dzielić na subdomeny? Może jest jakieś dedykowane rozwiązanie dla tego skryptu? nihil fit sine causa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 Opłaca się w ogóle ten sklep dzielić na subdomeny? Może jest jakieś dedykowane rozwiązanie dla tego skryptu? opłaca sie - po tym jak konkurencja tak zrobiła to wyprzedziła mnie o kilka pozycji. Poza tym chodzi tylko o subdomeny dla producentów. Możesz spróbować tego:https://httpd.apache.org/docs/1.3/mod/mod_r...te.html#mapfunc Ale to rozwiązanie także jest toporne bo będzie wymagało ręcznej aktualizacji w razie zmiany asortymentu. w razie zmiany asortymentu(produktów) czy dostawców/producentów ?? bo ja chce dodawac subdomene tylko do dostawców a nie asortymentu (poszczegolnych produktów). producentów będzie od kilku do kilkunastu wiec zmiany ręczne nie będą problemem. Pierwszy raz widze tą funkcję do której link mi przysłałes i ciezko jest mi cokolwiek zrozumiec edit: wyczytałem ze ta funkcja zamieni np. numer 1 na jakas nazwe - to by pasowało idealnie... prosze o wskazówke jak ma wygladac ten plik z mapą w txt Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
michalk Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 jeśli podasz adres domeny to będzie na pewno łatwiej pomóc Baza firm | Pranie dywanów | Meble Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 jeśli podasz adres domeny to będzie na pewno łatwiej pomóc nie mogę bo szef mnie zabije powiedzmy ze będzie to domena.pl a przyporządkować w tym pliku txt dla RewriteMap muszę: np. 1 - pampers 2 - inna_firma2 3 - inna_firma3 itd. dla każdej domeny pewnie będzie ten sam schemat Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Trotyl Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 Context: server config, virtual host O ile masz dostęp do wyżej wymienionych, bo bez tego ani rusz nihil fit sine causa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 Context: server config, virtual host O ile masz dostęp do wyżej wymienionych, bo bez tego ani rusz mam serwer dedykowany wiec przekazałem adminowi zeby mi to dołączył... co dalej ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Trotyl Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 Wystarczy odpowiedni map.txt: audi 112 bmw 23 mercedes 45 i wprowadzenie zmian w ht, coś w tym stylu: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.adres.com$ [NC] RewriteRule .* index.php?auto=${mapa:%2} [L] E:l nihil fit sine causa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 Wystarczy odpowiedni map.txt: audi 112 bmw 23 mercedes 45 i wprowadzenie zmian w ht, coś w tym stylu: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.adres.com$ [NC] RewriteRule .* index.php?auto=${mapa:%2} [L] E:l cholera to by mi wszystko załatwiło ale dostałam wiadomosc od home.pl Posiadam hostind dedykowany a nie serwer dedykowany a on nie jest na apache tylko na IdeaWebServer. Porażka! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Trotyl Opublikowano 29 Kwietnia 2009 Udostępnij Opublikowano 29 Kwietnia 2009 No to w php array_search + $_GET['manufacturers_id'] w zależności od $_SERVER['HTTP_HOST'] minuta pisania. E: <?php $producenci = array(12 => 'audi', 17 => 'bmw', 100 => 'mercedes'); /*można zamienić na odpowiednie zapytanie do bazy*/ if ($producent = str_replace(array('www.', '.adres.com', 'adres.com'), '', $_SERVER['HTTP_HOST'])) { if ($klucz = array_search($producent, $producenci)) $_GET['manufacturers_id'] = $klucz; else { header("HTTP/1.0 404 Not Found"); exit('nie ma takiego producenta'); } } ?> Mniej więcej coś w tym stylu z tym że sam skrypt też musi wyświetlać odpowiednie linki nihil fit sine causa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
natasha Opublikowano 29 Kwietnia 2009 Autor Udostępnij Opublikowano 29 Kwietnia 2009 No to w php array_search + $_GET['manufacturers_id'] w zależności od $_SERVER['HTTP_HOST'] minuta pisania. E: <?php $producenci = array(12 => 'audi', 17 => 'bmw', 100 => 'mercedes'); /*można zamienić na odpowiednie zapytanie do bazy*/ if ($producent = str_replace(array('www.', '.adres.com', 'adres.com'), '', $_SERVER['HTTP_HOST'])) { if ($klucz = array_search($producent, $producenci)) $_GET['manufacturers_id'] = $klucz; else { header("HTTP/1.0 404 Not Found"); exit('nie ma takiego producenta'); } } ?> Mniej więcej coś w tym stylu z tym że sam skrypt też musi wyświetlać odpowiednie linki to jest tez fajny pomysł ale po wpisaniu analogicznie np. audi.adres.com wyswietla mi "nie ma takiego producenta" i to nawet przy stronie głównej... a on ma tworzyc te subdomeny tylko dla producentów czyli jezeli w index.php jest zmienna manufactures_id=liczba np. index.php?manufactures_id=1 w innym przypadku ma wyswietlac to co wyswietlało wczesniej poprawka: dopisałam linijke echo $klucz; po wpisaniu np. audi.domena.com pojawia sie numer ktory został przyporzadkowany w array czyli: np. 87 poniżej juz pojawia sie strona główna teraz tylko starczy cos pogrzebac w htaccessie ?? tak ma działac skrypt phpa ?? nie powinna sie pojawiac podstrona index.php?manufacturers_id=87 a w pasku adresu w przegladarce audi.domena.com ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.