Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zrobić mod_rewrite
Forum PHP.pl > Forum > PHP
Rozpalacz
1. mam ścieżkę:
Kod
informator/pobierz.php?projekt=koncerty

chciałbym uruchomić powyższe metodą tak jak poniżej:
Kod
informator/pobierz/koncerty

i odebrać parametr GET['projekt'] == koncerty
Czy mogę liczyć na wsparcie w tej kwestii? Nie wiem jak się do tego zabrać.

2. mam ścieżkę z wieloma parametrami
Kod
informator/raport.php?projekt=koncerty&typ=wszystkie&info1=JakasTamTresc&info2=JakasTamInnaTresc&info3=JakasTamJeszczeInnaTresc

jak najwygodniej przekazać te wszystkie parametry za pomocą metody jak w ptk1? Jak najlepiej zaprojektować taki URL i jak odebrać zmienne? Może jakąś tablicą można pogrupować te pola info i przekazać jako tabelę?
[ [JakasTamTresc] [JakasTamInnaTresc] [JakasTamJeszczeInnaTresc] ]

Dziękuję z góry za informacje.
morthan
Za pomocą htaccess,

albo

  1. $_GET


http://php.net/manual/en/function.explode.php
http://php.net/manual/en/function.in-array.php

i napisz klase routującą, albo zaporzycz z jakiegoś frameworka.
Bardziej polecam ostatnią opcję, no chyba że się uprzesz.
[EDIT]
Oczywiście powyższe to taka luźna sugestia "wymyslona na kolanie".
Pyton_000
http://www.generateit.net/mod-rewrite/index.php
AngelDust
nie chce zakładać nowego tematu z tematem mod_rewrite ale mam pewien problem.
Witam serdecznie dopiero zaczynam zabawę z mod_rewrite napisałem kilka działających linków. Napisałem moduł php który przez przekazanie metoda get ze switch tworzy nowy egzemplarz klasy i wczytuje stronę . Ale nie potrafię znaleźć rozwiązania linki wygladaja u mnie w ten sposób tak się wyświetlają( np. nazwadomeny.pl/articles ) przy użyciu mod rewrite i mam problem z linkiem typu nazwadomeny.pl/forum/index.php już próbowałem wiele rzeczy ale nie udało mi sie moj plik .httaccess wygląda następująco:

Options FollowSymLinks
RewriteEngine On

Kod
Options FollowSymLinks
RewriteEngine On

RewriteRule ^([0-9a-zA-Z]+)/?$ index.php?page=$1 [L] // T odpowiada za wczytywanie podstron w page przez $_GET
RewriteRule ^([0-9a-zA-Z]+)/([0-9]+)/?$ index.php?page=$1&page_num=$2 [L]  // odpowiada za paginacje na podstronach
RewriteRule ^([0-9a-zA-Z]+)-([0-9]+)/?$ index.php?page=$1&id=$2 [L]// Przekazywanie identyfikatora
RewriteRule ^([0-9a-zA-Z]+)/([0-9]+)-([0-9]+)/?$ index.php?page=$1&page_num=$2&id=$3 [L]// przekazywanie ze strony paginacji identyfikatora


Dziękuje za pomoc smile.gif
trueblue
Nie wiem jaki dokładnie masz problem, bo nie wyjaśniłeś.
Masz na myśli sytuację, że /forum/index.php traktuje jako artykuł?
Dodaj przez regułkami:
RewriteCond %{REQUEST_URI} !^/forum
AngelDust
Chodzi o to że jest to link do forum w menu głównym forum jest katalogiem i chce się do niego dostać.
Przy takim zapisie działa ten link
Kod
RewriteRule ^([a-zA-Z]+)/?$ index.php/$1 [L]

tylko ze nie moge miec bo wtedy strony sie nie wczytaja gdyz na koncy jest slash a nie ?
Pyton_000
Musisz zmienić kolejność reguł w htaccess, te najbardziej szczegółowe wyżej a te ogólne niżej. Wtedy powinno zadziałać.
AngelDust
Masz na myśli w taki sposób

Kod
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/forum
RewriteRule ^([0-9a-zA-Z]+)/([0-9]+)-([0-9]+)/?$ index.php?page=$1&page_num=$2&id=$3 [L]
RewriteRule ^([0-9a-zA-Z]+)-([0-9]+)/?$ index.php?page=$1&id=$2 [L]
RewriteRule ^([0-9a-zA-Z]+)/([0-9]+)/?$ index.php?page=$1&page_num=$2 [L]
RewriteRule ^([0-9a-zA-Z]+)/?$ index.php?page=$1 [L]

Niesety nie działa nadal
Rozpalacz
Pyton_000

Ten generator to super sprawa smile.gif
AngelDust
Właśnie sprawdziłem to i chyba cos jest takiego w forum phpBB 2 co blokuje mi dostęp do tego folderu /forum na localhost może ktoś wie coś blokuje w phpbb taki link z wyższego katalogu
Pyton_000
Czym się to objawia?
AngelDust
Błędem 500 sprawdzałem do przykładowego folderu /html wrzuciłem plik index.php z echo hellow world i bez problemu mogłem przejść a, przy przejsściu do forum phpbb2 w folderze /forum wyskakuje mi błąd 500 może to wina WAMPA bo tworze to na localhost
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.