Úvod do Drupalu 8 # 3: Jak nastavit Mod_Rewrite, používat moduly Dev a povolit komentáře
Musím zmrazit mozek, protože nemohu nechat pracovat svá přepisovací pravidla.
RewriteEngine On RewriteCond %{HTTP_HOST} ^otherdomain\.example\.com [NC] RewriteRule ^(.*) http://www.otherdomain.com/ [R=permanent,L] RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC] RewriteCond %{REQUEST_URI} ^/otherdomain [NC] RewriteRule ^(.*) http://www.otherdomain.com/ [R=permanent,L]
To, co chci, je zásadní pro přesměrování
otherdomain.example.com a example.com/otherdomain to otherdomain.com
- Takže .. fungují, ale nesprávně ... nebo nefungují vůbec? Máte tam jiná pravidla? Fungují (pokud komentujete přesměrování domény)?
- Jsou zcela ignorováni. Ze souboru .htaccess jsem odstranil všechny ostatní přesměrování / přepsání.
- / slap self ... Moje podsložka „otherdomain“ obsahovala soubor .htaccess, který přepsal ten v kořenovém adresáři. (Snažil jsem se nahrát kompletní zrcadlo webu „otherdomain.com“ na jiného webhostitele, takže vše, co bych potřeboval, by bylo přepnout DNS pro případ problémů s webovým serverem na mém současném webhostingu.)
- Vždycky jsem si myslel, že se .htaccess zachází takto: /.htaccess a pak /otherdomain/.htaccess (tj. ten v kořenovém adresáři by byl vždy zpracován jako první)
- Ne - nejprve globální (virtuální hostitel), pak .htaccess; pravidla přepisování v podsložce budou mít prioritu a pravidla přepisování rodičů budou ignorována, pokud
RewriteOptions
používá se směrnice: httpd.apache.org/docs/current/mod/…
Stačí použít níže uvedené přesměrování. bude fungovat na 100%. Protože osobně to používám pro svůj web ....
RewriteCond %{HTTP_HOST} ^subname\.old-main-domain\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.subname\.old-main-domain\.com$ RewriteRule ^(.*)$ 'http\:\/\/www\.newdomain\.com\/$1' [R=301,L]