Autor Zpráva
hal_sk
Profil
Zdravím,
mám adresu napr.: http://nieco.example.com/abc
a chcem aby ma to presmerovalo na http://nieco.example.com/index.php=abc
Neviem aký zápis v .htaccess mám použiť. Pre klasickú doménu (nie subdoménu) by platilo toto:
RewriteRule   (.*)   /index.php?page=$1   [R,L]

Ale ja potrebujem takéto niečo:
RewriteRule   http://nieco\.example\.com/(.*)   /index.php?page=$1   [R,L]

To samozrejme nefunguje.
Subdomény sa mi na mojom hostingu tvoria samé, na základe vytvorených adresárov v špeciálnom adresári.
Davex
Profil
Provedení pravidla lze omezit na definované doménové jméno pomocí podmínky RewriteCond.
hal_sk
Profil
Davex:
Skúšal som tú podmienku ale zrejme mi ju apache vyhodnocuje ako nesplnenú, lebo ak použijem toto:

# ak uzivatel zada adresu subdomeny
RewriteCond %{HTTP_HOST} ^nieco\.example\.com$
# presmerujeme uzivatela na urcenu adresu
RewriteRule ^(.*) http://www.google.com/ [R]


...na google ma to nepresmeruje. Syntax by som mal mať dobre, lebo uvedenú podmienku už používam, pre presmerovanie návštevníkov, ktorý chodia na verziu adresy s "www".

Buď robím nejakú chybu, alebo to treba riešiť so správcom hostingu.
Davex
Profil
Ještě se musí mod_rewrite zapnout a soubor .htaccess s tímto pravidlem musí být v adresáři pro subdoménu.

RewriteEngine On

Pokud je tam jen jedno pravidlo, tak by mělo být v pořádku.
hal_sk
Profil
Davex:
Dík, už to funguje. Robil som chybu, že .htaccess som mal v adresári pre hlavnú doménu a nie subdoménu.
Potom stačilo mať len .htaccess v konkrétnom adresári subdomény s obsahom:
RewriteEngine on
RewriteBase /
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [NC,R]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0