Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przyjazne adresy
Forum PHP.pl > Forum > Przedszkole
pzebzda
Witam.

To mój pierwszy temat co nie oznacza, że nie szukałem odpowiedzi na mój problem.

Mam serwer na ovh.

w index.php odnośniki do poszczególnych podstron wywołuję:

  1. <? if(!isset($show)) {
  2. include"glowna.php"; }
  3. else if ($show=='1') {
  4. include"glowna.php"; }
  5. else if($show=='2') {
  6. include"1strona.php"; }
  7. ?>


...itd

kazda podstrona czyli glowna.php, 1strona.php jest w głównym katalogu www wraz z index.

Po kliknięciu np. na 1strona otrzymuje taki URL:

.com/index.php?show=2

Chciałbym po prostu mieć adres:

.com/1strona/

Serwer mam na ovh. Ponoć działa mod rewrite. Są z nim problemy lecz chciałbym abyście pomogli mi
na tym konkretnym przykładzie wypełnić poprawnie plik .HTACCESS

Jeśli ktoś ma pomysł na zmiane w php wydaje mi się, że będzie jeszcze lepiej.

Proszę o pomoc.
pzebzda
Dzięki kolego za linki. Dowiedziałem się, że mod_rewrite na ovh wogole nie istnieje :/
Ma ktoś pomysł aby bez tego modu utworzyć ładniejsze url'y?

Pozdrawiam.
crackcomm
Najlepiej zmień hosting.
tadek92
twórz foldery a w nich plik index np folder1/index.php folder2/index.php
i wtedy adresy będziesz miał np domena.pl/folder1, domena.pl/folder2
seth-kk
albo lepiej linkuj w ten sposob
/?adres/pierwszy
/?adres/drugi
/?inny/adres
istotny jest znak zapytania po slashu - dzieki niemu reszta jest traktowana jako parametr a request laduje w domyslnym pliku (pewnie index.php)
w tym pliku wystarczy pociac $_SERVER['REQUEST_URI'] na kawalki wedlug zasad ktore sobie przyjmniesz
bikebog
Tutaj masz odpowiedź w pierwszych dwuch wynikach: Tutaj znajdziesz odpowiedź smile.gif

Mam nadzieję, że pomogłem:)
pzebzda
Cytat(tadek92 @ 5.07.2009, 20:36:58 ) *
twórz foldery a w nich plik index np folder1/index.php folder2/index.php
i wtedy adresy będziesz miał np domena.pl/folder1, domena.pl/folder2


To bedzie mnie kosztowało sporo roboty lecz zaraz wytestuje.

bikebog - abonament byłem juz smile.gif

Dowiedziałem sie pewnej idtotnej rzeczy, myliłem się:

http://pomoc.ovh.com/HtaccessModRewrite

Tylko jak to zastosowac analogicznie do mojego przypadku? poświęci ktoś chwilke?

W katalogu gdzie ma byc umieszczona strona w "www" jest index.php i .htaccess

Wczoraj wpisałem:

Kod
RewriteEngine On
RewriteRule ^/index.php?show=1$ /glowna [R=301,L]


Niestety bez rezultatu.
tadek92
U mnie mam coś takiego:
Kod
DirectoryIndex index.html index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine On
RewriteRule ^(.*)$ index.php?page=$1 [QSA]


a kod php wygląda tak podobnie jak u Ciebie
  1. <?php
  2. if ($page=='glowna') {
  3. include"glowna.php"; }
  4. ?>


i wtedy zamiasta adresu domena.pl/?page=glowna mam domena.pl/glowna
pzebzda
A kod linka do pod-strony jak wygląda u Ciebie?

podstrony masz na równi z index.php? ja tak mam. I niestety dalej jest .com/index.php?page=1
tadek92
u mnie link wygląda tak
  1. <?php
  2. <a href="index.php?page=glowna">Strona główna</a>
  3. ?>

wtedy adres doniej jest taki domena.pl/index.php?page=glowna albo po skróceniu domena.pl/glowna
pzebzda
Cytat(tadek92 @ 6.07.2009, 15:12:37 ) *
u mnie link wygląda tak
  1. <?php
  2. <a href="index.php?page=glowna">Strona główna</a>
  3. ?>

wtedy adres doniej jest taki domena.pl/index.php?page=glowna albo po skróceniu domena.pl/glowna


Otrzymałem ten efetk winksmiley.jpg Dzieki.

po skróceniu właśnie właśnie... Twoj .htaccess modyfikowalem i nic. Wygląda na to, że nie mod rewrite nie działa na serwerach
ovh tak jak powinien.

Znalazłem coś takiego:

Cytuję:

Dzięki mod_rewrite masz możliwość przepisywania adresów i tworzenia przyjaznych linków.

w pliku .htaccess:

Kod
RewriteEngine On
RewriteCond %{REQUEST_URI} !testing.php
RewriteRule (.*) testing.php?var=$1



Reguły te uruchamiają skrypt testing.php ze zmienną GET zawierającą wpisane przez użytkownika URI

w php:


Kod
<?
print("testing server<br/>\n");
print("var: $var\n");
?>


Jak mam to rozumieć?

http://pomoc.ovh.com/HtaccessModRewrite
pawelpaciorek
Witam,

ja używam .htaccessa, tam mam wpis:

Kod
RewriteEngine On

RewriteBase /
RewriteCond $1 !^(index\.php|rozne|katalogi)
RewriteRule ^(.*)$ index.php/$1 [L]


Później sczytuje z tablicy $_SERVER['ORIG_PATH_INFO']
jeśli zmienna jest pusta to wczytuje domyślną stronę, jeśli to odpowiedni template
pzebzda
Ostatecznie www przerobiłem jest juz ciut lepiej:

.com/index.php?page=glowna

Czyli tak jak u Ciebie Tadek92, niestety u mnie to nie działa:

Kod
DirectoryIndex index.html index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine On
RewriteRule ^(.*)$ index.php?page=$1 [QSA]


Na ovh jest coś nie tak. Powyżej napisałem co podają swojej stronie. Czy ktoś może poświecic chwile i opisać
mi jak zastosować to u siebie? (na luzie smile.gif

Pozdrawiam.
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.