ugrás a tartalomhoz

htaccess 301-es átirányítás index.html domain névre

harmaty · 2013. Dec. 8. (V), 01.54
Sziasztok!


Segítséget szeretnék kérni tőletek, mert a sok átolvasott angol nyelvű anyag után sem megy az átirányítás. Szeretném ha az index.html át lenne irányítva a domainra.

Linux szerverre töltöm fel a domain.htaccess fájlt melyben ez áll:

Options + FollowSymLinks
RewriteCond% {THE_REQUEST} ^. * / Index.html
RewriteRule ^ (. *) Index.html $ http://www.villanyszerelesazonnal.hu/ $ 1 [R = 301, L]

Mi lehet a gond?
 
1

modosítás

harmaty · 2013. Dec. 8. (V), 02.40
Annyit tennék még hozzá, hogy sikerült végül is feltöltenem .htaccess fájlként de Server error hibaüzenetet kaptam.
2

RewriteEngine On

complex857 · 2013. Dec. 8. (V), 10.20
Ha valóban csak ez a 3 sor van a .htaccess fileodban akkor lehet csak az a gond, hogy maga a rewrite engine nincs bekapcsolva. Emellett általában célszerű <IfModule> -k közé rakni az adott modult igénylő sorokat, hogyha nincs bekapcsolva az adott modul akkor se bukjon orra az apache.

A kérdésben lévő RewriteRule, RewriteCond tele van space-ekkel olyan helyen ahova azok nem kellenek, ha ez nem csak a forum mellékhatása akkor az is gond lehet, illetve a %{THE_REQUEST} mint változó nekem nem ismerős.

Mivel ha jól értem csak azt szeretnéd, hogy ha valaki bepötyögi az "index.html" -t is az kerüljön a vissza a választott url -re amiben ez nincs benne (gyanítom ugyanoda) ehhez elég egy RewriteRule is (cond nélkül)

# ez lehet kivul, mivel core resze
Options + FollowSymLinks

# ok viszont csak mod_rewrite -al mennek
<IfModule mod_rewrite.c>
   RewriteEngine On
   # atdobjuk index.html -re bejovo requesteket, NC a kis-nagybetuk figyelmen kivul hagyasaert.
   RewriteRule ^index.html$ http://www.villanyszerelesazonnal.hu/ [R=301,L,NC]
</IfModule>
3

THE_REQUEST - Legyen ismerős

Pepita · 2013. Dec. 8. (V), 17.58
THE_REQUEST
The full HTTP request line sent by the browser to the server (e.g., "GET /index.html HTTP/1.1"). This does not include any additional headers sent by the browser.
6

Köszönöm, ezt átírva sikerült

harmaty · 2013. Dec. 9. (H), 11.33
Köszönöm, ezt átírva sikerült végül is megoldani a problémát.
4

Tényleg csak ezt szeretnéd?

Pepita · 2013. Dec. 8. (V), 18.10
Szeretném ha az index.html át lenne irányítva a domainra.

Akkor:
Redirect 301 /index.html http://ahova.szeretned.iranyitani.hu
, ahol a 301 a státuszkód, miszerint a kért tartalom véglegesen át lett helyezve a http://ahova.szeretned.iranyitani.hu helyre. Ehhez semmilyen modul bekapcsolása nem szükséges.

Ha pedig a kérés nem az index.html, akkor megy helyben a korábbi feldolgozás.
De az alapján, amit írtál, inkább valamit paraméterezni szeretnél?

Szerk.: keress rá: Apache HTTP Server Version 2.0 manual chm.
Nem tudom már honnan, de .chm-ben is letölthető, minden bennevan, offline használható.
5

Pontosabban nem az

harmaty · 2013. Dec. 9. (H), 11.07
Pontosabban nem az átirányítás a problémám, hogy egy régi domainről egy újra szeretném, hanem inkább össze szeretném vonni a http://villanyszerelesazonnal.hu a http://www.villanyszerelesazonnal.hu/index.html-el és azt olvastam hogy ezt 301-es átirányítással kell megoldani, hogy a google ne vegye duplikációnak.
A php-s kódsort és a javascriptes átirányítás sem jó hozzá.
7

Erre leginkább

Pepita · 2013. Dec. 9. (H), 23.08
az én egyszerűbb megoldásom felel meg. Nem mellékes, hogy gyorsabb is. ModeRewrite inkább paraméterek átadásakor kell, "szép URL"-ekhez. Ez, amit szeretnél, egy tök egyszerű 301 redirect, az a jobb rá.

Szerk.: egyébként úgy rémlik, olvastam már, hogy index.html-t, index.php-t már nem vesz duplikációnak, "megtanították" rá, hogy az Apache így műxik.