Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]Przyjazne URL
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Witam.
Robię taki większy serwis i przydały by mi się krótkie url typu:

http://mojastrona.pl/bazy_danych

jak na razie udało mi się zrobić takie coś:

http://mojastrona.pl/?page=bazy_danych

Jak pozbyć się tego: ?page= (IMG:style_emoticons/default/questionmark.gif)
Mój kod htaccess:

Kod
Options -Indexes
RewriteEngine On
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L]


Bardzo proszę o pomoc, ponieważ pierwszy raz takie coś robię. Czytałem już wiele poradników, ale nie bardzo z nich cokolwiek rozumiem.
Z góry dziękuje (IMG:style_emoticons/default/smile.gif)
Pozdrawiam.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A wpisałeś chociaż w google tytuł swojego wątku...? (IMG:style_emoticons/default/withstupidsmiley.gif)
Go to the top of the page
+Quote Post
adrianozo
post
Post #3





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Tak i nie mogę znaleźć dokładnej odpowiedzi
Go to the top of the page
+Quote Post
r4xz
post
Post #4





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


http://www.google.com/search?q=Przyjazne+U...-8&oe=utf-8 -> http://wortal.php.pl/wortal/artykuly/pomys.../przyjazne_urle




(głupota nie zając, nie ucieknie(?)...)

Go to the top of the page
+Quote Post
adrianozo
post
Post #5





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Nadal nie mogę znaleźć tego co oczekuję (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #6





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


na portalu php.pl nie na forum znajdziesz caly artykul na ten temat. tam jest wszystko fajnie opisane
Go to the top of the page
+Quote Post
adrianozo
post
Post #7





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Tak znalazłem, ale nie w htaccess (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #8





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Kod
<Files sklep>
ForceType application/x-httpd-php
</Files>


Wstawiasz to do htaccess i juz powinno dzialac

Go to the top of the page
+Quote Post
adrianozo
post
Post #9





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Co mam rozumieć pod napisem sklep?

Gdy wrzuciłem to tak jak podałeś to nie działa
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #10





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


sklep to tylko napis. dokladnie nie wiem o co kaman z tym więc ci nie powiem. wrzuc ten kod do tego pliku i usun reszte. otworz strone http://localhost/strona/ powinno wczytac strona.php

Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~adrianozo, uprzedzę Cię tylko, że na tacy nie dostaniesz. Przeczytaj z łaski swojej zalinkowany artykuł. Wszystko jest opisane, tylko trzeba czytać ze ZROZUMIENIEM, a nie tylko oglądać literki.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #12





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Mozesz skrócić URL bez używania HTACCESS

http://example.com?baza_danych

a przechwytujesz to przez:

current(array_keys($_GET));

Go to the top of the page
+Quote Post
adrianozo
post
Post #13





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Mam jeszcze kilka pytań co do przyjaznych URL.

htaccess:

Kod
Options -Indexes
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^([a-z0-9_-]+) index.php?page=$1 [L]


1.
Kod
<form action="/szukaj" method="get">
<input type="text" name="wynik" id="szukaj-text" size="15" />
<input type="submit" id="szukaj-submit" value="Szukaj" />
</form>

Tak wygląda mój formularz do wyszukiwarki. I teraz mam problem ponieważ, gdy wpiszę w wyszukiwarkę htaccess to powstaje taki link:
szukaj?wynik=htaccess, a chcę, żeby tworzył się taki: szukaj/htaccess

2. Strona jest oparta o PHP i MySql taki mini CMS. I pytanie brzmi:
Gdy wejdę w zakładkę kategorie i wybiorę daną kategorie to pewnie adres jaki się utworzy będzie to:
/kategoria?kategoria=nazwa kategorii, a chciałbym takie coś:
/kategoria/nazwa kategorii.

3. To samo tyczy się ze stronicowaniem wyników:
Adres jaki się utworzy to np.
/news&subpage=2
a chciałbym
/news/2

Zupełnie nie wiem ja się za to zabrać.
Mam nadzieje, że jasno to wytłumaczyłem.
Proszę o pomoc (IMG:style_emoticons/default/smile.gif)
Z góry dziękuje
Go to the top of the page
+Quote Post
xix
post
Post #14





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 14.11.2008

Ostrzeżenie: (0%)
-----


strasznie nie lubie, jak ktos odpowiada, ze ten temat juz byl i trzeba szukac odpowiedzi w archiwum. swiat sie zmienia przeciez. jesli kilka dni temu cos bylo OK, to dzisiaj juz moze istniec cos lepszego i nie warto w dodatku tracic czasu na archiwa.
ja mam w htaccess takie cos:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

nawet sie nie wglebiam, czy jest to prawidlowe, ale dziala. nie ma co czasu tracic.
tu jest cos jeszcze o htaccess:
http://mirificampress.com/permalink/beyond...les_in_htaccess

Ten post edytował xix 27.12.2009, 23:10:27
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~adrianozo: http://eriz.pcinside.pl/weblog/mod_rewrite...wiazac-208.html

Przeczytaj sobie, ale UWAŻNIE.

Cytat
strasznie nie lubie, jak ktos odpowiada, ze ten temat juz byl i trzeba szukac odpowiedzi w archiwum. swiat sie zmienia przeciez. jesli kilka dni temu cos bylo OK, to dzisiaj juz moze istniec cos lepszego i nie warto w dodatku tracic czasu na archiwa.

A ja strasznie nie lubię, gdy ktoś nie używa wyszukiwarki wpisując chociażby wprost, czego potrzebuje. Owszem, zmienia się, ale wyrażenia regularne, składnia przepisywania adresu jest niezmienna od paru lat.

Jest taka zasada - Nie trać czasu na rozwiązywanie problemów już rozwiązanych. Na Świecie jest tyle innych, którym jeszcze nikt nie stawił czoła, to one są warte tego czasu.
Go to the top of the page
+Quote Post
adrianozo
post
Post #16





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Dzięki erix, ale już po raz n'ty czytam ten kurs i tam zbytnio jasno(przynajmniej dla mnie nie jest rozpisane). Ale mniej więcej już wiem co i jak (IMG:style_emoticons/default/smile.gif)

Nie rozumiem dlaczego po takim kodzie htaccess:

Kod
Options -Indexes
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^szukaj/(.*) szukaj.php?wynik=$1 [L]
RewriteRule ^kategoria/([a-z0-9_-]+) kategoria?kategoria=$1 [L]
RewriteRule ^news/([0-9]+) news&subpage=$1 [L]
RewriteRule ^([a-z0-9_-]+) index.php?page=$1 [L]


Po 1 nie czyta mi stylu
Po 2 wyrzuca mi napis: Wystąpił błąd.
Niepoprawna nazwa pliku.

index.php
  1. <link rel="stylesheet" type="text/css" media="all" href="style.css" />
  2. <base href="http://www.nazwastrony.pl" />
  3. <?php
  4. if (!empty($_GET['page']))
  5. {
  6. switch($_GET['page'])
  7. {
  8. case 'algorytmy':
  9. include('strona/algorytmy.php');
  10. break;
  11. case 'arkusz_kalkulacyjny':
  12. include('strona/arkusz_kalkulacyjny.php');
  13. break;
  14. case 'bazy_danych':
  15. include('strona/bazy_danych.php');
  16. break;
  17. case 'testy':
  18. include('strona/testy.php');
  19. break;
  20. case 'mapa':
  21. include('strona/mapa.php');
  22. break;
  23. case 'kategoria':
  24. include('strona/kategoria.php');
  25. break;
  26. case 'licencja':
  27. include('strona/licencja.php');
  28. break;
  29. case 'szukaj':
  30. include('strona/szukaj.php');
  31. break;
  32. case 'paneladmina':
  33. include('panel/paneladmina.php');
  34. break;
  35. case 'dodaj':
  36. include('panel/dodaj.php');
  37. break;
  38. case 'edytuj':
  39. include('panel/edytuj.php');
  40. break;
  41. case 'usun':
  42. include('panel/usun.php');
  43. break;
  44. case 'zmien_haslo':
  45. include('panel/zmien_haslo.php');
  46. break;
  47. case 'rozmiar_pliku':
  48. include('panel/rozmiar_pliku.php');
  49. break;
  50. case 'ban':
  51. include('panel/ban.php');
  52. break;
  53. case 'komunikat':
  54. include('panel/komunikat.php');
  55. break;
  56. default :
  57. echo '<div style="text-align:center;">Wystąpił błąd.<br /> Niepoprawna nazwa pliku.</div>';
  58. break;
  59. }
  60. }
  61. else
  62. {
  63. include('strona/home.php');
  64. }
  65. ?>


<link rel="stylesheet" type="text/css" media="all" href="style.css" />
<base href="http://www.nazwastrony.pl" />
są w sekcji head

Dobra jak na razie sobie poradziłem. Po prostu usunąłem flagi wszędzie.

Witam. Jak pobrać zmienna get z poniższego formularza wykorzystaniem mod rewrite?

Mój htaccess:

Kod
Options -Indexes
Options -Indexes
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^([a-z0-9_-]+) index.php?page=$1
RewriteRule ^szukaj$ ?site=szukaj&wynik=$1 [QSA]



Formularz:

Kod
<form action="szukaj" method="get">
<input type="text" name="wynik">
<input type="submit" value="Szukaj" />
</form>


Adres po wpisaniu w wyszukiwarkę:

http://www.mojastrona.pl/szukaj?wynik=dasd

dasd to co wpisałem w wyszukiwarkę.

Co jest nie tak?
Jak powinna wyglądać formuła?
Go to the top of the page
+Quote Post
erix
post
Post #17





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A próbowałeś dopisać flagę do drugiej reguły?

Czy chcesz wstawić zmienną z GET do podstawnika? Jeśli tak, to znowu odsyłam do mojego artykułu, jest tam to opisane.
Go to the top of the page
+Quote Post
adrianozo
post
Post #18





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


szukaj.php

Kod
<form action="szukaj" method="get" action="/szukaj">
<input type="text" name="wynik">
<input type="submit" value="Szukaj" />
</form>
<script type="text/javascript">
window.onload = function()
{
var form = document.getElementById('szukaj');
form.onsubmit = function()
{
window.location.replace('/szukaj/'+encodeURIComponent(form.getElementsByName('wynik')[0].value));
return false;
}  
}
</script>


htaccess:

Kod
Options -Indexes
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^([a-z0-9_-]+) index.php?page=$1
RewriteRule ^szukaj$ ?site=szukaj&wynik=$1 [QSA]


Nie działa (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
erix
post
Post #19





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Heh, ale precyzyjny opis, pogratulować.

Żadnych błędów? Idąc do lekarza mówisz boli mnie, ale co boli, co już nie powiesz?
Go to the top of the page
+Quote Post
tog
post
Post #20





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


ale w kursie pisze jak byk
ze masz zrobic plik 'sklep'
bez rozszerzenia, nie 'sklep.php' tylko samo 'sklep'
i pozniej to piszesz w .htaccess
jak zrobic pik 'gowno' to w .htaccess piszesz
<Files gowno>
ForceType application/x-httpd-php
</Files>

jesli chodzi o plik
sklep/gowno

$_SERVER['PATH_INFO']; to Twoj adres
czyli jak masz gowno/hehe/haha to to Ci pokaze $_SERVER['PATH_INFO'];
czyli echo $_SERVER['PATH_INFO']; wyswietli '/hehe/haha'
mozesz tez to zapisac do zmiennej
$address = $_SERVER['PATH_INFO'];
a pozniej echo $address;
i wyswietli '/hehe/haha', czy co tam sobie wpiszesz
jak juz masz swoj adres w zmiennej to mozesz zrobic z nim co tylko chcesz
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 05:09