Autor Zpráva
Bambusák
Profil
Zdravím všechny :)

Úspěšně jsem převedl adresy index.html na -> index ...
A přesměroval si adresu bez www na adresu s www ...

ale, na co nemůžu přijít jak dát na konec adresy lomítko.

například chci z www.priklad.cz/priklad udelat www.priklad.cz/priklad/

Skoro všude sem se dočetl, že by mělo fungovat toto:

RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301


ale nefunguje, je možné, že by se tento kód rušil s tímto?

ErrorDocument 404 /error.html

RewriteEngine On
RewriteCond %{HTTP_HOST} ^priklad.cz$
RewriteRule (.*) http://www.priklad.cz/$1 [R=301,QSA,L]

RewriteEngine on 
RewriteBase / 
RewriteCond %{QUERY_STRING} !rw=1 
RewriteRule ^(.+)\.html$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.+)$ $1.html?rw=1 [L,QSA]


Děkuji za odpověďi
joe
Profil
Jak je vidět, nepochoil jsi vlastně "funkci" přepisování adres.

RewriteRule ^(.+[^/])$ /$1/ [R=301]
Tento řádek znamená, že všechno, pokud nezačíná lomítkem, se nachází na té samé adrese. No nevím jak to napsat, moc dobře jsem to nevysvětlil, prostě se mi ten řádek zdá jako naprostá blbost.


Abys docílil fungování adres s lomítkem nebo bez, uprav svůj kód, tedy přidání /? do regulérního výrazu nějak takhle:

RewriteRule ^([^/]+)/?$ index.php?stranka=$1
Bambusák
Profil
joe

Nevím proč, ale ten tvůj kód mi píše 301 Moved Permanently.

RewriteEngine on
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^([^/]+)/?$ index.php?stranka=$1


myslel si to takhle?
kletely
Profil
Bambusák
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]
Bambusák
Profil
kletely

Mě to sice funguje, nahoře vidím adresu s lomítkem avšak hodí mi to chybu 500.

Vlastně ten kód co píšeš mě přesměruje na adresu s lomítkem, která mi hází chybu 500 i když tam ten kód nemam ale lomítko připíšu.
soundguy
Profil
zkus zmenit [r=301] na [r=301,qsa,l]
warman
Profil
nemas povolenej mod_rewrite (teda podle te chyby 500 to tak vypada, kkdyz pises ze mas vsechno dobre)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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