Autor | Zpráva | ||
---|---|---|---|
Kcko Profil |
Poměrně dlouho zkouším a googlim řešení, aby při požadavku
např. aaa.domena.cz , se přepsala adresa na domena.cz/aaa taktéž aaa.domena.cz?a=1&b=2 => domena.cz/aaa?a=1&b=1 Slovem přepsala míním interně, v URL musí aaa.domena.cz zůstat (redirect nechci, pokud bych tam narval http:// s příznakem [R] tak to funguje). Struktura ============ root .htaccess [DIR] skutecna-subdomena1 [DIR] skutecna-subdomena2 [DIR] www (hlavni adresar webu, sem se dostane požadavek na domena.cz) umístil jsem .htaccess do rootu RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^aaa.domena.cz$ [NC] RewriteCond %{REQUEST_URI} !aaa/ RewriteRule ^(.*)$ /www/$1 [R] a dostane se mi http://aaa.domena.cz/www/aaa/
Díky. |
||
Radek9 Profil |
#2 · Zasláno: 30. 4. 2016, 16:24:26
Kcko:
„redirect nechci“ Tak proč ho tam dáváš? :-) Tohle by mělo fungovat: RewriteEngine On RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^aaa.domena.cz$ [NC] RewriteRule ^(.*)$ /www/$1 [QSA,L] |
||
Kcko Profil |
#3 · Zasláno: 30. 4. 2016, 17:18:48
Radek9:
To přesměrování jsem tam dal proto, abych viděl co se s tím děje a co to vlastně chce udělat. Ted mi to píše The requested URL /www/kontakt/ was not found on this server. (Zkouším kontakt.domena.cz, protoze na domena.cz/kontakt mam stranku). :/ |
||
Xanomes_ Profil * |
#4 · Zasláno: 30. 4. 2016, 18:13:24
Kcko:
„The requested URL /www/kontakt/ was not found on this server. (Zkouším kontakt.domena.cz, protoze na domena.cz/kontakt mam stranku).“ Nezapomeň, že domena.cz/kontakt/ není totéž co domena.cz/kontakt . Nastav tedy pro domena.cz/kontakt/ podvržení adresy domena.cz/kontakt a chybu ti to házet nebude :)
|
||
Kcko Profil |
#5 · Zasláno: 30. 4. 2016, 18:29:09
Xanomes:
Nerozumím, ale abysme byli konkrétní RewriteEngine On RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^kontakt.rjwebdesign.cz$ [NC] RewriteRule ^(.*)$ /www/$1 [QSA,L] |
||
Xanomes_ Profil * |
#6 · Zasláno: 30. 4. 2016, 18:40:45
Kcko:
Teď zas nerozumím já. Proč na subdoméně kontakt podvrháváš rjwebdesign.cz? Já myslel, že na subdoméně kontakt chceš podvrhávat rjwebdesign.cz/kontakt... |
||
Kcko Profil |
#7 · Zasláno: 30. 4. 2016, 20:41:44
Xanomes:
Já žádnou subdoménu nemám, chci jen aby to tak vypadalo a ve skutečnosti se čerpalo z rjwebdesign.cz/kontakt |
||
Xanomes_ Profil * |
#8 · Zasláno: 30. 4. 2016, 21:31:45
Kcko:
Takže chceš podvrhávat rjwebdesign.cz/kontakt. V tom případě nechápu, proč podvrháváš /www/ a nikoliv /www/kontakt.php. Takhle by to mohlo fungovat: RewriteEngine On RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^kontakt.rjwebdesign.cz$ [NC] RewriteRule ^(.*)$ /www/kontakt.php$1 [QSA,L] |
||
Kcko Profil |
#9 · Zasláno: 30. 4. 2016, 23:56:01
Xanomes:
Žádnej kontakt.php , je to na nette, všechno jde přes index.php. |
||
Kajman Profil |
#10 · Zasláno: 1. 5. 2016, 00:51:18
Kcko:
Jaká přepisovací pravidla jsou v tom www? |
||
Davex Profil |
Kcko:
Vypadá to, že tam bude nějaké další pravidlo, které ještě přepisuje subdoménu kontakt do adresáře /kontakt/. Tím se to trochu komplikuje a upravené pravidlo by mělo vypadat asi nějak takto: RewriteRule ^/?(kontakt)/ /www/$1 [QSA,L] |
||
Kcko Profil |
Kajman:
/www/ což je tedy automaticky generovaný adresář pro web, tj něco jako document_root je klasický Nettí htaccess RewriteEngine On RewriteRule ^$ /www/ [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/www/ RewriteRule ^(.*)$ /www/$1 a zároveń je v této úrovni fw Nette se svými klasickými složkami app, log, temp ... a také ještě jednou www (kde jsou css, obrázky atd) a také index.php ve kterém se inicializuje $container a a samozřejmě ještě jeden .htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteBase / # prevents files starting with dot to be viewed by browser RewriteRule /\.|^\. - [F] # front controller RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L] RewriteRule !\.(pdf|js|ico|css|rar|zip|tar\.gz)$ index.php [L] </IfModule> Davex: Děkuji za snahu, stále ten samý problém The requested URL /www/kontakt was not found on this server. |
||
Kajman Profil |
#13 · Zasláno: 1. 5. 2016, 01:48:14
Kcko:
Můžeš si zapnout rewritelog? Změní něco flag PT? RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^(aaa)\.domena\.cz$ [NC] RewriteRule ^(.*)$ /www/%1 [PT,L] Otázkou je, podle čeho pak routuje nette, to by šlo upravit? (Třeba, kdyby se přepisovalo rovnou na www/www/index.php a nette by zkombinovalo subdoménu a cestu.) Další variantou by mohlo být nahození mod_proxy a pak půjde v RewriteRule podstrčit celou doménu díky flagu P. Ale to asi až jako poslední nevýkonná varianta. |
||
Kcko Profil |
#14 · Zasláno: 1. 5. 2016, 10:19:29
Kajman:
Rewrite log nejde, ale zítra v práci se spojím s adminem serveru a nechám si ho povolit. Flat PT nic nezmění. Díky za ochotu, asi to budu dál řešit s adminem serveru, protože to vypadá na hlubší problém. |
||
Davex Profil |
Kcko:
„Děkuji za snahu, stále ten samý problém“ Pak je tu ještě druhá možnost, že se subdomény rozhazují do adresářů pomocí modulu mod_vhost_alias, a potom z nich nepůjde „vyskočit“ přepisovacím pravidlem mod_rewrite. Všechny přepisy pak skončí v adresáři pro subdoménu. |
||
Kcko Profil |
#16 · Zasláno: 1. 5. 2016, 12:32:58
Davex:
No něco takového mě napadlo (nemyslím přesné označení, ale něco v tomhle smyslu), takže jak jsem psal, budu to muset řešit s konkrétním člověkem. Díky všem. |
||
Časová prodleva: 9 let
|
0