Autor | Zpráva | ||
---|---|---|---|
martin8 Profil * |
#1 · Zasláno: 16. 2. 2011, 00:20:04
Čau tak nějak jsem dokončil web (začátečnický) v PHP ...
Potřeboval bych jen poradit s pár věcma: 1) Když mám switch (zkráceně) <?php case "jedna": $title = "stejný text"; break; case "dva": $title = "stejný text"; break; ?> Jde nějak udělat, aby jsem to nemusel vypisovat 2x ale něco ve stylu case "jedna, dva": ------------------------------ 2) Nyní mám url ve tvaru /index.php?str=neco ... Abych dostal pouze /neco.php a stránky zůstaly funkční bez přesouvání souborů to se dělá v .htaccess pomocí: mod rewrite, redirect, rewrite nebo jak? ------------------------------ Děkuju za rady jsem na tohle lamka :-) |
||
petr 6 Profil |
#2 · Zasláno: 16. 2. 2011, 00:48:14
case "jedna": case "dva": $title = "stejný text"; break; |
||
martin8 Profil * |
#3 · Zasláno: 16. 2. 2011, 00:55:46
petr 6:
Děkuju, funguje :-) . Teď jestli by jsme mohli dát nějak do kupy ten mod_rewrite |
||
panther Profil |
#4 · Zasláno: 16. 2. 2011, 01:14:40
martin8:
http://mike.treba.cz/mod_rewrite-a-hezke-url/ (6. příklad by měl být to, co hledáš). |
||
martin8 Profil * |
#5 · Zasláno: 16. 2. 2011, 02:27:16
Tak jsem po přečtení návodu použil tenhle kód:
RewriteEngine on RewriteRule ^([^.]*).php$ /web/index.php?str=$1 [L,QSA] No potvora mi vyhodí chybu Internal Server Error LoadModule rewrite_module modules/mod_rewrite.so - mám v Apache povolené |
||
ShiraNai7 Profil |
#6 · Zasláno: 16. 2. 2011, 09:16:39
Podívej se do error logu apache. Tam by mělo být možné zjistit o jakou „Internal Server Error“ se jedná.
|
||
motik Profil |
#7 · Zasláno: 16. 2. 2011, 11:26:02
martin8
nejspíš to bude tou příponou .php - zkus to předělat třeba na .htm |
||
martin8 Profil * |
#8 · Zasláno: 16. 2. 2011, 12:29:29
error log:
[Wed Feb 16 12:25:09 2011] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://localhost/ motik: při změně na html se nic neděje. No možná mám nějak špatně nakonfigurovaný Apache... Jako kořenový adresář. Stránky dávám do C:/AppServ/www/sachovkanew2/ A nastavení: DocumentRoot "C:/AppServ/www" |
||
motik Profil |
#9 · Zasláno: 16. 2. 2011, 14:03:56
martin8:
a zkoušel si to takto: RewriteEngine on RewriteRule ^([^.]*).htm$ /web/index.php?str=$1 [L,QSA] |
||
motik Profil |
#10 · Zasláno: 16. 2. 2011, 14:38:10
martin8:
„při změně na html se nic neděje.“ nic neděje? - jako že to hází stejnou chybu? nebo to hlásí jinou (stránka nenalezena)??.. nejspíš tam máš ještě špatně cestu k tomu souboru index.php.. |
||
martin8 Profil * |
#11 · Zasláno: 16. 2. 2011, 18:28:23
motik:
Nic se neděje jako že nic se neděje... Jako by v .httacces nic nebylo |
||
Davex Profil |
#12 · Zasláno: 16. 2. 2011, 19:16:04
martin8:
„No potvora mi vyhodí chybu Internal Server Error“ Protože se to pravidlo zacyklí - viz chybu „Request exceeded the limit of 10 internal redirects...“ Přidej podmínku, která zabrání zacyklení. RewriteEngine on RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteRule ^([^.]*).php$ /web/index.php?str=$1 [L,QSA] „Nic se neděje jako že nic se neděje... Jako by v .httacces nic nebylo“ Samotný skript http://localhost/web/index.php?str=cokoliv něco zobrazí? |
||
motik Profil |
#13 · Zasláno: 16. 2. 2011, 19:18:17
martin8:
- a cestu k souboru index.php máš správně?? > No možná mám nějak špatně nakonfigurovaný Apache... Jako kořenový adresář. > Stránky dávám do C:/AppServ/www/sachovkanew2/ - a co vůbec máš v tom souboru index.php? zkus, jestli ti to udělá při zadání přesné adresy to co chceš(např.): http://localhost/sachovkanew2/index.php?str=neco a potom se vrhni na .htaccess „Jako by v .httacces nic nebylo“ |
||
martin8 Profil * |
#14 · Zasláno: 16. 2. 2011, 19:52:47
Davex:
Když tam přidám to: RewriteCond %{ENV:REDIRECT_STATUS} ="" Tak mi přestane fungovat CSS styl a adresy to ani tak nezmění :-( |
||
martin8 Profil * |
#15 · Zasláno: 16. 2. 2011, 20:12:25
Tak já se omlouvám, moje blbost...
.htaccess funguje. Akorát jsem nevěděl, že musím zadat přímo tu adresu neco.php (teda i změnit v menu). Já žil v domění, že se to přesměruje automaticky |
||
Časová prodleva: 13 let
|
0