Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przyjazny URL
Stef@n
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


Witam,
na wstępie zaznaczam ze pierwszy raz się bawię w "Przyjazne URL". No i oczywiście siedzę już od paru dni i nie mogę dojść do ładu... bo wiecznie coś nie działa. Testowałem 3 sposoby i dosłownie wielkie NIC!

Oto moje testy może gdzieś jest błahy błąd i pomożecie.

TEST I
Tutaj już na początku po wpisaniu do pliku .htaccess kodu:
  1. <?php
  2. Options Indexes, Symlinks, Multiviews
  3. ?>

Wyskakuje błąd 500 Internal Server Error

plik test.php wyglądał tak lecz to chyba już bez znaczenia
  1. <?php
  2. $sklad_URL = explode('/', substr($_SERVER['PATH_INFO'], 1));
  3.  
  4. $_SERVER['PATH_INFO'] = (isset($_SERVER['PATH_INFO']) &&
  5. $_SERVER['PATH_INFO'] != '/') ? $_SERVER['PATH_INFO']&nbsp: '/news';
  6. $sklad_URL = explode('/', substr($_SERVER['PATH_INFO'], 1));
  7.  
  8. ?>


TEST II
Linki starą metoda działają a nowa pokazują brak pliku czyli błąd 404 Not Found

Kod .htaccess
  1. <?php
  2. RewriteEngine On
  3. RewriteRule ^/test/(.*)/(.*) /test.php?id=$1&do=$2 [NE]
  4. ?>


Kod test.php
  1. <?php
  2. if($_GET['id'] == 'news'){
  3.    echo "Zmienna 1 = {$_GET['id']}";
  4.    if($_GET['do'] == 'pokaz'){
  5.        echo "<br />Zmeinna 2 = {$_GET['do']}";
  6.    }
  7. }
  8. if ($_GET['id'] == '') {
  9.    echo "Strona główna<hr />";
  10. }
  11. ?>
  12. <hr />
  13. <a href="test.php?id=news&do=pokaz">LINK stary</a><br />
  14. <a href="test/news/pokaz/">LINK nowy</a><br />



Kolejny test
TEST III
Linki starą metoda działają a nowa pokazują brak pliku czyli błąd 404 Not Found czyli jak w przykładzie II

Kod .htaccess
  1. <?php
  2. <Files test>  
  3.  ForceType application/x-httpd-php
  4. </Files>
  5. ?>


Kod test.php
  1. <?php
  2. if($_GET['id'] == 'news'){
  3.    echo "Zmienna 1 = {$_GET['id']}";
  4.    if($_GET['do'] == 'pokaz'){
  5.        echo "<br />Zmeinna 2 = {$_GET['do']}";
  6.    }
  7. }
  8. if ($_GET['id'] == '') {
  9.    echo "Strona główna<hr />";
  10. }
  11. ?>
  12. <hr />
  13. <a href="test.php?id=news&do=pokaz">LINK stary</a><br />
  14. <a href="news/pokaz.html">LINK nowy</a><br />



Bardzo proszę o pomoc
Go to the top of the page
+Quote Post
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Najlepszą metodą jest mod_rewrite. Pierwszą rzeczą jaką musisz zrobić to zmienić w httpd.conf:

Kod
<Directory "/www">
  (...)
  AllowOverride none
  (...)
</Directory>


na:

Kod
<Directory "/www">
  (...)
  AllowOverride All
  (...)
</Directory>


Następnie prosty test:
Kod
RewriteEngine On
RewriteRule index.html index.php [L]


Jeśli po wpisaniu index.html otworzy Ci się index.php to znaczy że wszystko działa.

P.S. Powinno być:

Kod
Options +Indexes, +Symlinks, +Multiviews


ale to nie jest potrzebne.
Go to the top of the page
+Quote Post
Stef@n
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


No tak httpd.conf ale jak to zrobić skoro nie mam dostępu? Mogę to ustawić tak jak w pliku .htaccess?
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pozostaje Ci napisać do administratora serwera. Możliwe jest że w ogólne obsługa plików .htaccess jest wyłączona.
Go to the top of the page
+Quote Post
Stef@n
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


A jak to sprawdzić czy jest włączona czy nie? ;/

Zadziałało coś takiego

  1. <?php
  2. RewriteEngine On
  3. RewriteRule ^test/([0-9A-Za-z_,.-]*)/([0-9A-Za-z_,.-]*)/$ test.php?id=$1&do=$2 [NC]
  4. ?>


A teraz mam pytanie który link jest lepszy dla wyszukiwarek?

1) http://www.domena.pl/test/news/pokaz/
2) http://www.domena.pl/test/news/pokaz.html

Drugie pytanie to takie co zrobić z grafika i stylami bo nie może odnaleźć plików?
Go to the top of the page
+Quote Post
Maxik
post
Post #6





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Każdy z tych linków jest OK, dla wyszukiwarek nie ma to znaczenia, prędzej dla userów. Grafika: w sekcji head dodaj <base href="adres">


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
Stef@n
post
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


Ok wszystkim wielkie dzięki
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 19:17