Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 22. 6. 2009, 13:21:52
Zdravím Vás. poradíte, jak mám sestavit Rewrite Rule v .htaccess tak, aby mi to odstraňovalo příponu ".php". Mám například stránku "http://www.mujweb.cz/en/contact.php" a chci aby se objevovalo "http://www.mujweb.cz/en/contact/"
|
||
Chamurappi Profil |
#2 · Zasláno: 22. 6. 2009, 13:37:55
Reaguji na Mufnu:
Návod jsi četl? |
||
Mufna Profil |
#3 · Zasláno: 22. 6. 2009, 13:43:30
Chamurappi
Ano. Chci použít mod_rewrite poprvé a na tuto konkrétní věc (a tuto konkrétní věc, nebo alespoň něco podobného, jsem tam nenašel). Trochu moudrý z toho jsem, ale šlo by poradit blíže ? |
||
Chamurappi Profil |
#4 · Zasláno: 22. 6. 2009, 13:55:06
Reaguji na Mufnu:
Příklady jsi četl? |
||
Mufna Profil |
#5 · Zasláno: 22. 6. 2009, 14:00:15 · Upravil/a: Mufna
Chamurappi
Pokud se nemýlím, tak by to šlo nějak uvařit z tohoto: RewriteEngine On #RewriteBase /adresar RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php$ %1.html? [R=301,L] RewriteRule ^([^/]+)\.html index.php?rw=1&page=$1 [L,QSA] Ale jak dál zatím nevím. A nepoužívám "index.php?action=blabla", mám v rootu webu pouze jeden index.php, který rozhoduje o volbě jazykového podadresáře (en/ nebo cz/), v každém z nich je pak index.php jako hlavní stránka a všechny další stránky jsou stranka1.php, stranka2.php atd. A z nich jen potřebuju odstranit to ".php" |
||
Chamurappi Profil |
#6 · Zasláno: 22. 6. 2009, 14:15:50 · Upravil/a: Chamurappi
Reaguji na Mufnu:
Nešlo by to takhle? RewriteRule ^(.+)\.html $1.php [L,QSA] |
||
Mufna Profil |
#7 · Zasláno: 22. 6. 2009, 14:29:54
Chamurappi
Nešlo by to takhle? RewriteRule ^(.+)\.html $1.php [L,QSA] Asi ne. Vytvořil jsem tedy .htaccess #RewriteEngine on #RewriteRule ^(.+)\.html $1.php [L,QSA] a nakopíroval ho do rootu + do /cz/ + do /en/ . Ale nedělá to nic. |
||
Mufna Profil |
#8 · Zasláno: 22. 6. 2009, 14:50:12
Zkusil jsem ještě str4wberryho postup, který jsem mezitím našel:
RewriteEngine on RewriteRule ^([^.]+)$ $1.php [QSA,L] ale taky to nefunguje. Jinak .htaccess na serveru povolený mám, tady by problém určitě být neměl. |
||
Mufna Profil |
#9 · Zasláno: 22. 6. 2009, 14:51:34
BTW, jak je to s tím znakem "#" ? Má (musí) tam být nebo ne ?
|
||
Chamurappi Profil |
#10 · Zasláno: 22. 6. 2009, 14:58:31 · Upravil/a: Chamurappi
Reaguji na Mufnu:
Ten zápis v mém předchozím příspěvku přepisuje „cokoliv.html“ na „cokoliv.php“ (zřejmě). Špatně jsem si přečetl tvé zadání. Zkus tedy: RewriteRule ^(.+)/$ $1.php [QSA,L] „BTW, jak je to s tím znakem "#" ?“ Jaký „#“ myslíš? „Má (musí) tam být nebo ne ?“ Nevím, já jsem v životě žádný .htaccess nepsal, ani nemám po ruce žádný server, který by ho podporoval. Vycházím jen z návodů na JPW. |
||
panther Profil |
#11 · Zasláno: 22. 6. 2009, 15:00:48
Mufna
„BTW, jak je to s tím znakem "#" ?“ jakým znakem, kde? Myslíš komentář v .htaccessu? Ten tam být nemusí. Nebo myslíš nějaký jiný? |
||
AM_ Profil |
#12 · Zasláno: 22. 6. 2009, 15:01:37
„BTW, jak je to s tím znakem "#" ? Má (musí) tam být nebo ne ?“
křížek na začátku řádku indikuje komentář. takže když tam bude, tak to samozřejmě nepoběží :) |
||
Mufna Profil |
#13 · Zasláno: 22. 6. 2009, 15:04:47
AM_
křížek na začátku řádku indikuje komentář Jo, jasně, už blbnu. Díky. |
||
Mufna Profil |
#14 · Zasláno: 22. 6. 2009, 15:11:49
Chamurappi
RewriteRule ^(.+)/$ $1.php [QSA,L] Bohužel, taky nic. Musím to mít v rootu i v obou adresářích, že ? Mám to všude, ale nejede to. |
||
Mufna Profil |
#15 · Zasláno: 22. 6. 2009, 15:25:52
Jinak nevím jestli by to nepomohlo, aby mi někdo poradil, ale odkazy na stránce vypadají původně takto:
<a href="<?php print($link[0,1,2 atd].'.'.$ext);?>"> $link je definovaný v souboru jazyk.php, který se requiruje do každé stránky přes hlavní html.php. $ext je tam taky definováno ($ext ='php'). Příponu php takhle zatím používat musím, protože v jednotlivých podstránkách načítám text jazyka přes proměnné definované v jazyk.php a proto potřebuju aby měly příponu ".php". |
||
Mufna Profil |
#16 · Zasláno: 22. 6. 2009, 17:47:17
Chamurappi
Aha, tak princip už jsem pochopil. Zkusil jsem si obráceně přepsat ".php" na ".html" a funguje to. Akorát to má háček: vyleze chybová hláška 404 - "strankaxy.html" 404 Not Found. Takže asi budu muset někde ještě ošetřit, aby ty stránky nalezeny byly (ať už tu příponu změním jakkoliv) |
||
Časová prodleva: 15 let
|
0