Kezdőoldal » Számítástechnika » Weblapkészítés » RewriteRule mi a baj ezzel?

RewriteRule mi a baj ezzel?

Figyelt kérdés

Három oldalon próbáltam ki a következő .htaccess eli kódot. Azt szeretném elérni, hogy bármit amit a domain neve után írnak, azt egy fájl paraméterben kapja meg. Tehát: www.domain.hu/hirek/ez_egy_hirek => index.php?q=hirek/ez_egy_hirek


RewriteEngine on

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


1, A munkahelyemen a web oldal könyvtárban (/home/httpd/html, elérhetősége: www.domain.hu) működik, tehát az index.php-ban ha kiírom a $_GET["q"]-t, akkor kiírja a paramétert.

+ Az itthoni Windowsos localhost-os (XAMPP) webszerveren is müxik.


2, Viszont a saját könyvtáramban (/home/dolg/nevem/public_html, elérhetősége: www.domain.hu/~nevem), már nem akarja az igazságot.


a, Ha ezt írom be: www.domain.hu/~nevem/konyvtar akkor a hibaüzenet: 400 Bad Request

b, Ha ezt írom be: www.domain.hu/~nevem/konyvtar és egy / vagy /valami, akkor a hibaüzenet: Not Found, The requested URL /home/dolg/nevem/public_html/konyvtar/index.php was not found on this server.


3, A saját tárhelyemen (dataglobe) már kidom a szolgáltató hiba oldalára, hogy az oldal nem található.


Valószínű, hogy a DocumentRoot máshol lenne? httpd.conf-hoz nem férek hozzá.


Van erre valammi megoldás, hogy működjön mindenhol? Esetleg a RewriteBase segítene?


2009. jún. 11. 20:59
 1/3 anonim ***** válasza:

A RewriteBase-t megpróbálnám.

pl.:

RewriteEngine on

RewriteOptions MaxRedirects=10

RewriteBase /

.... a többi


Viszont azt se szabad elfelejteni, hogy sok helyen nincs engedélyezve a url átírás, nem lehet, hogy itt is ez az eset áll fent?

2009. jún. 11. 22:09
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

RewriteCond %{REQUEST_URI} !^/$

RewriteRule ^(.*)$ /index.php?q=$1 [QSA]


aztan ennyi kb. de hasznald a rewritelogot es akkor lathatod mit csinal (rewriteloglevel-t meg rakd 9-esre) de jelen esetben csak az a gond hogy a /-t is atakarja iranyitani, igy egy vegtelen ciklus lesz. nomeg esetleg ha a php cgi, akkor azt is bele kell irni hogy azt se iranyitsa at.

2009. jún. 12. 03:37
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Kipróbáltam a munkahelyi saját tárhelyemen a követező kódot:


[code]

RewriteEngine on

RewriteBase /konyvtar/

RewriteCond %{REQUEST_URI} !^$

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

[/code]


Így működik is, de:

Ha így írom be: aldomain.domain.hu/konyvtar/ akkor tökéletes, visszadja q-ban a paramétert

de ha így írom be: www.domain.hu/konyvtar, akkor ez jelenik meg: aldomain.domain.hu/konyvtar/?q=/WWW/hu/domain/aldomain/_/_/konyvtar


Próbáltam így is, de semmi változás:

[code]

RewriteCond %{REQUEST_URI} !^/$

[/code]


A benti gépen ha beállítom a RewriteBase-t /-re akkor valami végtelen ciklusba fut bele:

A www.domain.hu/~nevem/konyvtar/ címre ez történik www.domain.hu/~nevem/konyvtar/kvt/kvt/kvt/kvt/kvt...


Jelenleg most úgy van hogy a fő főoldal (index.php-je) át van írányítva a kvt könyvtárba.


Tehát valószínű hogy a documntRoot mutat más helyre.


Saját könyvtáram: /home/dolg/nevem/public_html/konyvtar/

Fő weboldal: /home/httpd/html/konyvtar/


Ui.: A fő weboldali könyvtárba tökéletes működik.

2009. jún. 12. 13:42

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!