| 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: 16 let
|
|||
0
).