Skocz do zawartości

Po raz kolejny mod_rewrite ale z innej strony.


Rekomendowane odpowiedzi

Problem mam następujący z:

domena.pl/index.php?dzial=xx&poddzial=yy zrobic

domena.pl/xx-yy

tak jak jest to na www.swietyjozef.pl

No i tu uwiądłem bo do memontu jak w:

RewriteRule ^([^-]+).html$ index.php?dzial=$1

RewriteRule ^([^-]+)-([^-]+).html$ index.php?dzial=$1&poddzial=$2

jest chociaz . lub jedna litera (tutaj jest .html) jest ok, natomiast jak dam:

RewriteRule ^([^-]+)$ index.php?dzial=$1

RewriteRule ^([^-]+)-([^-]+)$ index.php?dzial=$1&poddzial=$2

Przestaje dzialac; caly czas ląduje na stronie glownej bo nie dziala mi detekcja w php:

switch ($_GET['dzial']) { case... }

Nie wiem jak sie za to zabrać, ktoś może próbowałtego typu rozwiązań?

Fotografia Ślubna - Światłem Malowane - profesjonalna fotografia slubna.

Odnośnik do komentarza
Udostępnij na innych stronach

No tak wszystko dziala puki mam adres typu donema.pl/xx-yy.html i on sie przeadresowywuje na odpowiedni index.php itd... robi te regolka:

RewriteRule ^([^-]+).html$ index.php?dzial=$1

RewriteRule ^([^-]+)-([^-]+).html$ index.php?dzial=$1&poddzial=$2

To dziala.

Natomiast ja nie chce miec domena.pl/xx-yy.html a domena.pl/xx-yy (nie ma .html na koncu)

niby regolka:

RewriteRule ^([^-]+)$ index.php?dzial=$1

RewriteRule ^([^-]+)-([^-]+)$ index.php?dzial=$1&poddzial=$2

to powinna zalatwic, ale po takim zastosowaniu jak wpisze:

domena.pl/xx-yy skrypty php nie dostaja zmiennych (nie jestem w stanie zdetektowac tego xx i yy z poziomu php metoda get)

Fotografia Ślubna - Światłem Malowane - profesjonalna fotografia slubna.

Odnośnik do komentarza
Udostępnij na innych stronach

zrobiłem dwa testy

pierwszy to kombinacje w .htaccess

RewriteEngine On
RewriteRule ^([^-]+)(-([^-]+))*/$ index.php?dzial=$1&poddzial=$3

tyle dałem rady wycisnąć, ale wymaga zapisu domena.pl/xx/ lub domena.pl/xx-yy/ koniecznie z ukośnikiem na końcu, co pewnie nie będzie Cię interesować

drugi przykład wprowadzany był w httpd.conf

RewriteEngine On
RewriteRule ^/([^-]+)(-([^-]+))*$ /index.php?dzial=$1&poddzial=$3

i tu bez problemów zgodnie z założeniem działają domena.pl/xx oraz domena.pl/xx-yy - jeśli dodasz ukośnik na końcu tez zadziała ale ukośnik pojawia się w zmiennej

wykorzystywany plik index.php

<?
echo "dział: <b>$_GET[dzial]</b><br />poddział: <b>$_GET[poddzial]</b>";
?>

- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Odnośnik do komentarza
Udostępnij na innych stronach

Cyberek, a jesteś pewien że kolega ma jedą uniwersalną regułe a nie tyle reguł ile działów?

jeśli nic innego nie wykombinujesz to spróbuj ostatecznie poniższego rozwiązania, trochę to uciążliwe bo wymaga tylu reguł ile działów :)

RewriteEngine On
RewriteRule ^dzialpierwszy(-([^-]+))*$ index.php?dzial=dzialpierwszy&poddzial=$2 [L]
RewriteRule ^dzialdrugi(-([^-]+))*$ index.php?dzial=dzialdrugi&poddzial=$2 [L]

- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Odnośnik do komentarza
Udostępnij na innych stronach

szukałem jakichś kombinacji zamiast od razu to tak napisać :)

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)(-([a-zA-Z0-9]+))*$ index.php?dzial=$1&poddzial=$3

powinno działać dokładnie tak jak na swietyjozef.pl ;)

- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności