Autor Zpráva
dotaz
Profil *
Prosím, jak upravit RewriteRule v .htpaccess , aby se stránka zobrazila v případě zadání
www.web.cz/stranka tak i www.web.cz/stranka

současné nastavení je
RewriteRule ^stranka/$ stranka.php a funguje to pouze v připadě www.web.cz/stranka

Děkuji za radu


Ještě pro upřesnění, protože to je trochu zavádějící, ale v prvním případě je na konci linku ještě lomítko /
Keeehi
Profil
Za lomítko dej otazník.

Ale není to dobrý návrh. Takhle budeš mít jeden obsah dostupný na dvou URL adresách což vyhledávače nemají rády. Lepší by bylo si vybrat jednu variantu a tu přesměrovávat na druhou.
dotaz
Profil *
Keeehi:
Otazník fungule ... aha, tak jak to tedy udět nejlépe?
prostěbych chtěl, aby bylo jedno, jestli uživatel zadá www.web.cz/stranka (s lomítkem na konci) nebo jen www.web.cz/stranka (bez lomítka na konci)
řekněme, že má varanta je RewriteRule ^stranka/$ stranka.php
dotaz
Profil *
Tak jsem to dohledal

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


což o to, fungu je to, ale do přidání řádku

ErrorDocument 404 /e404.php

V čem je prosím problém?
Kajman
Profil
dotaz:
V čem je prosím problém?
Mohlo by to bý tím, že e404.php vyhovuje regulárnímu výrazu ^(.+[^/])$, ale původní adresa nevyhovuje .[[:alnum:]]+

Zkuste na začátek pravidel dát
RewriteRule  ^([^.]*[^/])$  /$1/  [R=302,L,NE]

Pokud to bude fungovat dle představ, můžete změnit 302 na 301.
dotaz
Profil *
Kajman:
Jo, tak to vypadá, že to dělá co chci ... děkuji
dotaz
Profil *
Jěště zeptám na následující, jako reakci na poznámku, že obsah by měl být dostupný z jedné url

je pak vhodné použít například následující řešení pro
1.pro zobrazení seznamu firem
2.pro zobrazení seznamu firem setříděných podle $1
3.pro zobrazení seznamu firem setříděných podle $1 a vybraných dle $2
4.pro zobrazení informací o konkrétní firmě &1

RewriteRule ^firmy/$ firmy.php?on=seznam
RewriteRule ^firmy-podle-(.*)/$ firmy.php?on=seznam&trideni=$1
RewriteRule ^firmy-podle-(.*)-(.*)/$ firmy.php?on=seznam&trideni=$1&vyber=$2
RewriteRule ^firma-(.*)/$ firmy.php?on=firma&jmeno=$1

Děkuji za info
dotaz
Profil *
A ještě jeden dotaz

jak trvale přesměrovat již neexustující odkaz ^o-firme-(.*)/ na ^firma-(.*)/

Opět děkuji za případnou radu
Kajman
Profil
Když použijete pravidlo
RewriteRule ^firmy/$ firmy.php?on=seznam [L,QSA]
tak můžete odkazovat na
firmy/?trideni=nazev&vyber=as

V google webmaster tools pak můžete nastavit, že parametr trideni řadí a parametr vyber filtruje.
Případně můžete určovat hlavní stránku pro duplicity přes cannonical.


RewriteRule  ^o-firme-(.*)/$  /firma-$1/  [R=302,L,NE]
dotaz
Profil *
Kajman:
Díky za pomoc, trochu se tím prokousávám, našel jsem dobrý nastroj htaccess.mwl.be , který celkem pomáhá
Ještě jeden dotaz, jak všechny requesty na soubor např.
http://www.example.cz/stranka/favicon.ico
http://www.example.cz/stranka/dalsi/favicon.ico
http://www.example.cz/stranka/treba/i/takto/favicon.ico
nasměrovat na
http://www.example.cz/favicon.ico
Keeehi
Profil
Myslím že takto:
RewriteRule /favicon.ico$ http://www.example.cz/favicon.ico  [R=301]

dotaz:
htaccess.mwl.be
No, má to mouchy, zrovna na tomto přesměrování to nedává správný výsledek.
dotaz
Profil *
Keeehi:
Opět děkuji, opět to dělá co potřebuji.

„htaccess.mwl.be“ ... v každém případě, pro mě amatéra aspoň nějaká pomůcka

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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