Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Inne] Przyjazne URL-e po aktualizacji skryptu
Forum PHP.pl > Forum > Przedszkole
miras30
Po aktualizacji skryptu pojawiły się problemy z przyjaznymi URL-ami. Mam nadzieję, że ktoś z was mi pomoże .
1. Kategorie

Teraz to wyglada tak
http://gryonline-pl.pl/category/83/Gry_Lego
http://gryonline-pl.pl/category/85/Gry_3D
a wczesniej wygladało tak
http://gryonline-pl.pl/category/83/Gry_Lego/1.html
http://gryonline-pl.pl/category/85/Gry_3D/1.html
Jak osiągnąć efekt, któy był wcześniej ?

2.Nie działają s profile np:

http://gryonline-pl.pl/profile/1760/shrek.html

Jak widzicie zamiast profilu pojawia się informacja o tym,ze taka strona nie istnieje .

Cały kod htaccess wygląda tak

Kod
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^game/([0-9]+)/(.+)\.html$ file.php?f=$1&name=$2 [L]
RewriteRule ^category/([0-9]+)/(.+?)/([a-zA-Z]+)?/?([0-9]+)\.html$ browse.php?c=$1&p=$4&name=$2&order=$3 [L]
RewriteRule ^category/([0-9]+)/(.+)/?$ browse.php?c=$1&name=$2 [L]
RewriteRule ^profile/([0-9]+)/.+\.html$ profile.php?u=$1&name=$2 [L]
RewriteRule ^page/(.+)\.html$ page.php?p=$1 [L]
RewriteRule ^scores/([0-9]+)/([0-9]+)\.html$ scores.php?f=$1&p=$2 [L]
RewriteRule ^game/[0-9]+/(newscore|index)\.php$ $1.php [L]
RewriteRule ^game/[0-9]+/arcade/gamedata/(.*)$ arcade/gamedata/$1 [L]
RewriteRule ^g([0-9]+)/?$ links.php?a=short&f=$1 [L]
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>


Jak to wszystko pozmieniać, żeby jednak działało ?
b4rt3kk
Trzeba by wiedzieć jak powinny wyglądać poprawne linki dla skryptu, nie możesz zmieniać wyglądu samego linku, tylko raczej to na co on przekierowuje, bo podejrzewam, że jak zaktualizowałeś skrypt, to wszystkie url są podlinkowane w ten sposób.
miras30
LInkmusi wyglądać tak
http://gryonline-pl.pl/category/83/Gry_Lego/1.html
,gdzie 1.html oznacza pierwszą stronę, a potem chronologicznie 2.html, 3html itd. - tak było przed aktualizacją i tak właśnie musi byc.
Ciężko mi to idzie (dawno się czyms takim nie zajmowałem), ale sam staram się to naprawić i już w połowie udało mi się rozwiązać problem, jeżeli chodzi o te linki (profile, są mało ważne)
Zrobiłem tak:
Kod
RewriteEngine on
RewriteCond %{REQUEST_URI} category/(.*)\.html$
RewriteRule category/(.*)\.html$ /browse.php?c=$1&name=$2
RewriteCond %{REQUEST_URI} category/(.*)\.html$
RewriteRule category/(.*)\.html$ /browse.php?c=$1&p=$4&name=$2&order=$3 [L]

Teraz wszystko jest ok. jeżeli wejścia są z wyszukiwarki, czyli link wskakuje z 1.html. Jednak jeżeli jest się już na stronie, to po kliknięciu w kategorię ponownie kieruje do http://gryonline-pl.pl/category/83/Gry_Lego/ , czyli bez tego 1.html i dodatkowo wyrzuca błąd 404 .
Teraz już na serio nie wiem, gdzie robię błąd
nospor
Jesli zmiany pojawily sie po aktualizacji skryptu, to zmiana samego htaccess nic nie da, gdyz zmiany dotyczą kilku miejsc, w tym i kodu php.
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.