Autor Zpráva
4li1985
Profil
Zdravim.

Potrebujem aby sa https://www.domain.com/?name=first+last presmerovalo na https://www.domain.com/name/first-last/

A zaroven aby https://www.domain.com/name/first-last/ interne fungovalo ako https://www.domain.com/?name=first+last

Dakujem za radu.
Ikki
Profil
Použij .htaccess, základní odkaz ti bude fungovat vždycky, ty mu jen vytvoříš pěkný "alias". Vyhledej si něco jako ".htaccess pěkná url".
Kajman
Profil
4li1985:
Důležité je zabránit cyklení, což je možné dalším parametrem navíc jako v Mod_rewrite - příklady nebo testováním ENV:REDIRECT_STATUS, které je neprázdné, pokud už došlo k podstrčení (pokud se nepletu, tato varianta kdysi nefungovala všude, ale teď už jsem se s nefunkčností dlouho nepotkal).
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} ^(name)=([^&]+)$
RewriteRule ^(index\.php)?$ %1/%2/? [R=302,L,NE]
RewriteRule ^(name)/([^/]+)/$ index.php?$1=$2 [L,QSA]

Mmožnosti (name) bych raději vyjmenoval např. (name|jenda|dve|tri). Lze to i pro cokoliv, ale to může měnit i něco, co člověk nechtěl.
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} ^([^=&]+)=([^&]+)$
RewriteRule ^(index\.php)?$ %1/%2/? [R=302,L,NE]
RewriteRule ^([^/]+)/([^/]+)/$ index.php?$1=$2 [L,QSA]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0