Autor Zpráva
Chates
Profil
Mam stranku www.net-smart.cz a potreboval bych tam presmerovat stranky net-smart.cz (pokud nekdo zada takovou adresu). Vim, ze se to dela pres .htaccess rewrite rule. Uz jsem to dokonce nekolikrat funkcne udelal, jenze ted to najednou nejde a nevim proc. Muj .htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^net-smart.cz
RewriteRule (.*) http://www.net-smart.cz/$1 [R=301,QSA]

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

Vidi nekdo nejakou chybu?
Senyx
Profil
Přesměrování na doménu bez www

Požadavky na můj web mohou požadavky přicházet s hostname "jakpsatweb.cz" nebo "www.jakpsatweb.cz". Preferuji, aby lidé i vyhledávače chodili jenom na verzi s www, a tak je přesměrovávám.

Příklad: Všechny požadavky, co míří na jakpsatweb.cz bez www, přesměruju na verzi domény s www:

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

S pravidlem RewriteRule se pracuje pouze v případě, že je splněna podmínka RewriteCond. V tomto případě jsem například testoval proměnnou %{HTTP_HOST}, ve které je hostname (doménová část) vyžádaného url. Pokud hostname ("jakpsatweb.cz" nebo "www.jakpsatweb.cz") začíná (to je ta stříška) rovnou řetězcem "jakpsatweb.cz", tak se pravidlo provede.

A proto když někdo požádá o http://jakpsatweb.cz/cokoliv, je přesměrován na http://www.jakpsatweb.cz/cokoliv . Příznak QSA v hranatých závorkách ještě zařídí, že se do nové adresy přenese i query-string (část adresy za otazníkem).

Výše uvedený zápis musí být v rootu domény, protože jinak by se to $1 vyhodnocovalo relativně k adresáři (jméno adresáře by se uřízlo, nevím proč). Toto asi nějak souvisí s RewriteBase (nevím).

--------------------------
Toto jsem vytáh z http://jakpsatweb.cz/server/mod-rewrite.html

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0