Skocz do zawartości

url rewriting


rattkin

Rekomendowane odpowiedzi

czy ktos bardziej obeznany w php ode mnie moglby napisac krotki tutorial, jak przepisywac statyczne urle (chodzi o same nowe reguly) i dobrac do nich htaccess? to co widze w skryptach niewiele mi mowi (choc regexa znam) :

$url_in = array('/(?<!/)viewforum.php?f=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)</a>/e', 

           '/(?<!/)viewtopic.php?p=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)</a>/e', 

           '/(?<!/)viewtopic.php?t=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)</a>/e'); 



   $url_out = array("make_url_friendly('6') . '-ios-f1.html' . if_query('2') . stripslashes('56') . '</a>'", 

           "make_url_friendly('6') . 'ios-p1.html' . if_query('2') . stripslashes('56') . '</a>'", 

           "make_url_friendly('6') . '-ios-t1.html' . if_query('2') . stripslashes('56') . '</a>'"); 



   $content = preg_replace($url_in, $url_out, $content);

htaccess

RewriteRule [.]*-vf([0-9]*) viewforum.php?%{QUERY_STRING}&f=$1 

RewriteRule [.]*-vp([0-9]*) viewtopic.php?%{QUERY_STRING}&p=$1 

RewriteRule [.]*-vt([0-9]*) viewtopic.php?%{QUERY_STRING}&t=$1 

albo tez inna wersja

array( 

"'(?<!/)viewforum.php?f=([0-9]*)&(?:amp;)topicdays=([0-9]*)&(?:amp;)start=([0-9]*)'", 

"'(?<!/)viewforum.php?f=([0-9]*)&(?:amp;)mark=topics'", 

"'(?<!/)viewforum.php?f=([0-9]*)'", 

"'(?<!/)viewtopic.php?t=([0-9]*)&(?:amp;)view=previous'", 

"'(?<!/)viewtopic.php?t=([0-9]*)&(?:amp;)view=next'", 

"'(?<!/)viewtopic.php?t=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)start=([0-9]*)'", 

"'(?<!/)viewtopic.php?t=([0-9]*)&(?:amp;)start=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)highlight=([a-zA-Z0-9]*)'", 

"'(?<!/)viewtopic.php?t=([0-9]*)&(?:amp;)start=([0-9]*)'", 

"'(?<!/)viewtopic.php?t=([0-9]*)'", 

"'(?<!/)viewtopic.php&(?:amp;)p=([0-9]*)'", 

"'(?<!/)viewtopic.php?p=([0-9]*)'", 

); 

$urlout = array( 

"viewforum1-2-3.html", 

"forum1.html", 

"forum1.html", 

"ptopic1.html", 

"ntopic1.html", 

"ftopic1-2-3-4.html", 

"ftopic1.html", 

"ftopic1-2.html", 

"ftopic1.html", 

"sutra1.html", 

"sutra1.html", 

); 

$s = preg_replace($urlin, $urlout, $s); 

htaccess

RewriteEngine On 

Options +FollowSymlinks 

RewriteRule ^phpbb2/forums.* /phpbb2/index.php 

RewriteRule ^phpbb2/forum([0-9]*).* /phpbb2/viewforum.php?f=$1&mark=topic 

RewriteRule ^phpbb2/viewforum([0-9]*)-([0-9]*)-([0-9]*).* phpbb2/viewforum.php?f=$1&topicdays=$2&start=$3 

RewriteRule ^phpbb2/forum([0-9]*).* phpbb2/viewforum.php?f=$1 

RewriteRule ^phpbb2/ptopic([0-9]*).* phpbb2/viewtopic.php?t=$1&view=previous 

RewriteRule ^phpbb2/ntopic([0-9]*).* phpbb2/viewtopic.php?t=$1&view=next 

RewriteRule ^phpbb2/ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* phpbb2/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 

RewriteRule ^phpbb2/ftopic([0-9]*)-([0-9]*).* phpbb2/viewtopic.php?t=$1&start=$2 

RewriteRule ^phpbb2/ftopic([0-9]*).* phpbb2/viewtopic.php?t=$1 

RewriteRule ^phpbb2/ftopic([0-9]*).html phpbb2/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 

RewriteRule ^phpbb2/sutra([0-9]*).* phpbb2/viewtopic.php?p=$1

"i can handle it without linking :)"

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

kolego, takie odpowiedzi to, wiesz... co mozesz z nimi zrobic.

regexa znam na pewno nie gorzej od ciebie, przy czym nie sa one ani z perla ani z php - tam sa jedynie zaimplementowane.

pytanie bardziej dotyczylo mod_rewrite'a niz php wlasciwie. jedyne czego wciaz nie wiem to jak w php na samym koncu wylapac output, zamienic w nim url'e, i wyswietlic te zmieniona zawartosc.

"i can handle it without linking :)"

Odnośnik do komentarza
Udostępnij na innych stronach

jedyne czego wciaz nie wiem to jak w php na samym koncu wylapac output, zamienic w nim url'e, i wyswietlic te zmieniona zawartosc.

Możesz skrypt napisać tak, aby zamiast echować treść wrzucał ją do jakiejść zmiennej. To proste zwłaszcza ze Smartym. A dodadkowo jest mechanizm który załatwia sprawę - https://pl.php.net/manual/pl/ref.outcontrol.php gdzie ob_startowi podajesz funkcję zamieniającą - o coś takiego Ci chodzi? Do tego dorzucasz w php.ini jakieś auto_append_file i auto_prepend_file ze swoimi mąceniami, coby nie przerabiać wszystkich skryptów.

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