Autor | Zpráva | ||
---|---|---|---|
Benys Profil * |
#1 · Zasláno: 24. 10. 2010, 17:31:44
Zdravím,
mám problém s nastavením .htaccessu. Na serveru mám dva, jeden v rootu a jeden ve slozce /www kde se nachází i celý web. V tom prvním je zapsáno pravidlo že pokud uživatel zadá domena.cz tak ho to presmeruje na www.domena.cz a v tom druhém je myslím pouze RewriteBase / (je to klasický drupalovský htaccess). Když uživatel zadá www.domena.cz tak je všechno ok ale pokud uživatel zada domena.cz tak ho to přesměruje na www.domena.cz/_ . Nevíte někdo co by to mohlo dělat? Díky za každou radu... |
||
Davex Profil |
#2 · Zasláno: 24. 10. 2010, 22:02:59
Mám to chápat tak, že se z varianty bez www přesměruje na variantu s www a za lomítko se doplní nechtěné potržítko? Jaký je obsah těch .htaccess souborů (bez řádků zakomentovaných pomocí #)?
|
||
Benys Profil * |
Davex:
Přesně tak. Obsah prvního htaccessu (toho v rootu) je: RewriteEngine on RewriteCond %{HTTP_HOST} !.+\..+\..+ [NC] RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,QSA,L] A ten druhý ve složce /www (htaccess který je primárně v cms drupal, je tam pouze navíc nastaven RewriteBase /): <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$"> Order allow,deny </FilesMatch> Options -Indexes Options +FollowSymLinks ErrorDocument 404 /index.php <Files favicon.ico> ErrorDocument 404 "The requested file favicon.ico was not found. </Files> DirectoryIndex index.php <IfModule mod_php4.c> php_value magic_quotes_gpc 0 php_value register_globals 0 php_value session.auto_start 0 php_value mbstring.http_input pass php_value mbstring.http_output pass php_value mbstring.encoding_translation 0 </IfModule> <IfModule sapi_apache2.c> php_value magic_quotes_gpc 0 php_value register_globals 0 php_value session.auto_start 0 php_value mbstring.http_input pass php_value mbstring.http_output pass php_value mbstring.encoding_translation 0 </IfModule> <IfModule mod_php5.c> php_value magic_quotes_gpc 0 php_value register_globals 0 php_value session.auto_start 0 php_value mbstring.http_input pass php_value mbstring.http_output pass php_value mbstring.encoding_translation 0 </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresDefault A1209600 <FilesMatch \.php$> ExpiresActive Off </FilesMatch> </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </IfModule> Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Davex Profil |
#4 · Zasláno: 25. 10. 2010, 20:06:32
Benys:
První soubor .htaccess z rootu smaž a poslední dva řádky z něho zkopíruj do druhého souboru .htaccess ve složce /www hned za RewriteBase / . Mělo by to šlapat.
|
||
Benys Profil * |
#5 · Zasláno: 25. 10. 2010, 20:18:36
Davex:
To už sem zkoušel ale bohužel když smažu ten první htaccess tak to hází 404 - Not Found... |
||
Davex Profil |
#6 · Zasláno: 25. 10. 2010, 21:06:41
No jo, to znamená, že první .htaccess slouží pouze doméně bez www. Co se stane, když se pravidla trochu upraví a napevno zadá jméno tvé domény?
RewriteEngine on RewriteCond %{HTTP_HOST} ^domena\.cz$ [NC] RewriteRule ^(.*)$ http://www.domena.cz/$1 [R=301,L] |
||
Benys Profil * |
#7 · Zasláno: 25. 10. 2010, 21:39:32
Davex:
To už sem taky zkoušel, dělá to úplně to samý... |
||
Davex Profil |
#8 · Zasláno: 25. 10. 2010, 21:51:32
Předpokládám, že když se vymaže (nebo přejmenuje) ten druhý .htaccess, tak to dělá to samé. Pro zjištění příčiny by se musel zapnout a analyzovat rewrite log. Pokud je to na hostingu, tak doporučuji kontaktovat technickou podporu.
|
||
Kajman_ Profil * |
#9 · Zasláno: 26. 10. 2010, 08:46:42
Navíc bych se mrknul na http hlavičky, zda tam není ještě jedno přesměrování navíc, které to podtržítko přidává. Trošku pochybuji, že ho přidávají zmíněná pravidla.
A v prvním požadavku to podržítko není? A změní se něco, když se upraví přesměrování třeba na RewriteCond %{HTTP_HOST} !.+\..+\..+ [NC] RewriteRule (.*) http://www.%{HTTP_HOST}/Benys [R=301,QSA,L] |
||
Benys Profil * |
#10 · Zasláno: 26. 10. 2010, 18:50:18
Kajman:
Když upravím přesměrování podle tebe tak to přesměruje na www.domena.cz/Bernys. Takže když sem tam dal RewriteCond %{HTTP_HOST} !.+\..+\..+ [NC] RewriteRule (.*) http://www.%{HTTP_HOST}/[R=301,QSA,L] tak to přesměrovalo správně na www.domena.cz, potíž je v tom že to tak presmeruje úplně všechno bez www. |
||
Časová prodleva: 12 dní
|
|||
lukas7 Profil |
#11 · Zasláno: 7. 11. 2010, 14:44:57
Měl jsem stejný problém, když jsem soubor upravil tak jak psla Davex problem se vyřešil.
|
||
Časová prodleva: 13 let
|
0