Autor Zpráva
Viktor 36
Profil
Ahojte,

Robil som si nejaké to presmerovanie adries na webe. Všetko mi funguje ako má, ale nepáči sa mi jedna vec, ktorú neviem opraviť.

Keď idem na stránku http://www.example.com/sk/stranka, tak ma to presmeruje na http://www.example.com/sk/stranka/ a to chcem, ale funguje aj URL http://www.example.com/sk/stranka///// (bez ohľadu na to, koľko tam tých lomítok nakoniec dám). Chcem, aby tie stránky fungovali iba s jedným lomítkom na konci, nie viacerými. Dá sa to nejak urobiť?

.htaccess
RewriteEngine On
RewriteBase /sk/

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://www.example.com/sk/$1 [R=301,QSA,L]

RewriteRule ^index\.php$ http://www.example.com/sk/ [R=301,L]
RewriteRule ^index\.php/(.*) $1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ page.php?id=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^grafika/([^/]+)/$ grafika.php?page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^downloads/([^/]+)/$ downloads.php?page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^programy-v-pascale/([0-9]{1,2})/$ page.php?id=programy-v-pascale&page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^navstevna-kniha/strankovanie/([0-9]{1,4})/$ navstevna-kniha.php?start=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^navstevna-kniha/reakcia/([0-9]{1,4})/$ navstevna-kniha.php?reaguj=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^(.*)/$
RewriteRule ^(.*)$ http://www.example.com/sk/$1/ [L,R=301]

RedirectMatch 301 /guestbook.php http://www.example.com/sk/navstevna-kniha/
Kajman
Profil
Zkuste kolem 9. řádku přidat
RewriteCond %{REQUEST_URI} //
RewriteRule .*/.* $0 [R=302,L,NE]
Viktor 36
Profil
Kajman:

Ďakujem za pomoc. Funguje to :) Ešte som si všimol, že keď zadám http://www.example.com/sk/../stranka/, tak ma to hodí do hlavného adresára. Nemalo by to robiť problémy, ale teoreticky to môže nejak uškodiť bezpečnosti webu. Dá sa aj toto nejak vyriešiť?
Kajman
Profil
Dvě tečky zpracuje většinou již pohlížeč a půjde rovnou na example.com/stranka/

To je normální chování. Nevím, co se Vám nezdá.
Viktor 36
Profil
Kajman:
Tak potom je to v poriadku :) Ešte raz ďakujem za pomoc.

EDIT : Práve som si všimol, že to síce funguje pri jednotlivých stránkach, ale keď napíšem http://www.example.com/sk////, tak to tie lomítka nevymaže. :/ Pri iných adresároch mi to funguje, ale pri /sk/ nie.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: