Autor Zpráva
sloncz
Profil
Zdravím, už do rána si lámu hlavu s tím, jak udělat, aby do url mohl napsat http://url.com/stranka/12/o-nas tak, aby to index.php vzal jako

http://url.eu/stranka?id=12&stranka=o-nas

Zkoušel jsem
RewriteEngine On

RewriteCond %{HTTP_HOST} ^http://url.eu
RewriteRule (.*) http://url.eu/stranka/$1/$2 [R=301,QSA,L]

RewriteRule  ^(\w+)/?$  index.php?id=$1&stranka=$2  [QSA,L]

ale to mi hodí, že stránka neexistuje.
Fisir
Profil
Reaguji na sloncza:
Zkus:
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/stranka/(\d+)/(.*)$ stranka?id=$1&stranka=$2 [QSA,L]
(Psáno z hlavy, netestoval jsem.)
sloncz
Profil
To mi hodí Internal Server Error
Kubo2
Profil
Fisir:
Alebo skôr:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/(.+)/(\d+)/([^/]*)$ index.php?id=$2&$1=$3 [L]


Ale ani ja som to netestoval. :-)
sloncz
Profil
Stále ://

Internal Server Error

Pri zpracovani pozadavku doslo k vnitrni chybe. Pravdepodobne se jedna o chybu v .htaccess souboru.

Ctete instrukce v nasi znalostni bazi: Chyba 500 - Internal Server Error
Kubo2
Profil
sloncz:
Ukáž nám prosím kompletný obsah .htaccess súboru. Tiež mám jeden web na wedose a každá blbosť je tam zakázaná používať, takže ak dávaš do toho súboru ešte niečo, čokoľvek môže spôsobovať chybovku 500.
sloncz
Profil
.htaccess mám prázdný, dal jsem tam pouze to, co jste mi zaslal, nic víc.
Fisir
Profil
Reaguji na Kuba2:
To je špatně, ne? Sežere to i adresy typu /blbost/12/o-nas, což on nechce.

Reaguji na sloncza:
Aha. Drobná nepozornost. Ty tedy chceš, aby to zpracovával index.php? (A bralo se to jako index.php?id=12&stranka=o-nas.)
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/stranka/(\d+)/(.*)$ index.php?id=$1&stranka=$2 [QSA,L]
Chybu 500 to vyhazovalo proto, že předtím se podstrkával neexistující soubor stranka.
sloncz
Profil
Vzal jsem poslední kód od Fisir ale stále to hazí chybu 500 - internal server error


Mám web ve tvaru http://sudomena.url.eu/stranka a potřebuji, abych když napíšu do url adresy adresu http://sudomena.url.eu/stranka/promenna_1/promenna_2, tak aby se zobrazil index slozky "stranka" a "promenna_1" index.php bral jako ??id=promenna_1 a "promenna_2" aby index bral jako &stranka=promenna_2
Fisir
Profil
Reaguji na sloncza:
index.php čeho? Rootu, nebo složky stranka? Musíš si v tom pátém řádku patřičně upravit cestu ke skriptu, pokud to nemá zpracovávat index.php ve stejné složce, jako je .htaccess.
sloncz
Profil
index.php ze složky stranka, takže bych nic upravovat ve vašem kódu neměl ne? I přesto to nejde a hodí to 500
Fisir
Profil
Reaguji na sloncza:
Záleží na tom, kde ten .htaccess je. Jestliže je ve složce stranka, pak by neměly být třeba žádné úpravy. Pokud je někde jinde (třeba v rootu webu) je třeba patřičně upravit cestu.
sloncz
Profil
Je ve složce stranka, ale i tak, když tam dám vámi upravený .htaccess, tak skočí 500.
Kajman
Profil
sloncz:
Je ve složce stranka

Pokud je .htaccess až ve složce stranka a v té složce je i index.php, zkuste nastavit správně RewriteBase. Pokud to stále bude vyhazovat chybu, podívejte se do error logu apache na přesnější popis chyby.

Options +FollowSymlinks
RewriteEngine on
RewriteBase /stranka/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(\d+)/(.*)$ index.php?id=$1&stranka=$2 [QSA,L]
Kubo2
Profil
Fisir:
To je špatně, ne? Sežere to i adresy typu /blbost/12/o-nas, což on nechce.
Ja som to pochopil tak, ako som to implementoval, ale je pravda, že to tak nemusel myslieť.

Kajman:
QSA
Má to nejaký zmysel zachovávať v prepísanej adrese pôvodný query string?
sloncz
Profil
Kubo2:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /stranka/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(\d+)/(.*)$ index.php?id=$1&stranka=$2 [QSA,L]

Vložil jsem tam toto, nyní funguje první proměnná ./stranka/125 ale pokud za 125 přidám ještě /o-nas, tak skočí 404 - not found
Kubo2
Profil
sloncz:
Vložil jsem tam toto,
A .htaccess súbor, do ktorého si to vložil, máš uložený v adresári /stranka?
sloncz
Profil
Ano, přesně tak.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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