Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [inne]Przyjazne URL
adrianozo
post 22.12.2009, 21:09:02
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= 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 smile.gif
Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
erix
post 22.12.2009, 21:39:44
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...? withstupidsmiley.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
adrianozo
post 22.12.2009, 21:42:08
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 22.12.2009, 21:43:56
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 22.12.2009, 22:20:12
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ę sad.gif


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post 22.12.2009, 22:25:28
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 22.12.2009, 22:26:53
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 sad.gif


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post 22.12.2009, 22:29:55
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 22.12.2009, 22:33:30
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 22.12.2009, 23:09:53
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 23.12.2009, 11:52:49
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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wNogachSpisz
post 23.12.2009, 15:50:46
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 27.12.2009, 18:03:35
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 smile.gif
Z góry dziękuje


--------------------
Go to the top of the page
+Quote Post
xix
post 27.12.2009, 23:07:15
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 28.12.2009, 11:59:11
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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
adrianozo
post 30.12.2009, 22:20:19
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 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 30.12.2009, 22:30:23
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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
adrianozo
post 30.12.2009, 22:43:00
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 sad.gif


--------------------
Go to the top of the page
+Quote Post
erix
post 30.12.2009, 23:58:57
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?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
tog
post 31.12.2009, 00:02:23
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 00:46