Autor Zpráva
Titlak
Profil *
Zdravim diskusiu,
mám nasledovný problem. Mám apache 2, v httpd.conf povoleny load Modrewritu, ale na locale mi stale rewrite nejde. Na webe ide v pohode.

Uz pri nacitani indexu v projekte mi nacita iba html
http://localhost/projekt.sk/

V com moze byt proble?



Takto vyzera moj .htaccess

RewriteEngine On
RewriteBase /

RewriteRule ^(ofirme)/?$ /index.php?log=ofirme [L,QSA]
RewriteRule ^(sluzby)/?$ /index.php?log=sluzby [L,QSA]
RewriteRule ^(referencie)/?$ /index.php?log=referencie [L,QSA]
RewriteRule ^(inspiracia)/?$ /index.php?log=inspiracia [L,QSA]
RewriteRule ^(kontakt)/?$ /index.php?log=kontakt [L,QSA]
RewriteRule ^(predajna)/?$ /index.php?log=predajna [L,QSA]
gaminn
Profil *
Co takhle použít ragulární výrazy a zkrátit si zápis?:

RewriteEngine On
RewriteBase /

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

Až ve skriptu bych testoval, zda log má hodnotu, jakou má mít (bude zřejmě stačit ošetření if(is_file(....)), které by tam ale mělo být napsané už teď).

Uvedené řešení zřejmě nebude pořád fungovat, ale už se bude provádět soubor index.php, takže podle výpisu toho, co bude v proměnné $_GET['log'] poznáš, co a jak upravit.
Titlak
Profil *
Vdaka za tie regularne vyrazy :) ale nejak mi to stale neriesi moj problem.
gaminn
Profil *
Jak jsem už psal, mrkni se do souboru index.php, co obsahuje proměnná log, podle toho se přizpůsob a popřípadě uprav .htaccess.
Titlak
Profil *
V index.php mam nasledovny zapis:


<?php
if($_GET['log']==""):
include"content/start.php";
else: include"content/". $_GET['log'] .".php";
endif;
?>


Nejak stale tomu nerozumiem, preco mi to na locale nechce slapat.
Kajman_
Profil *
Zkusil bych oddělat to lomítko před index.php RewriteBase by ho tam mělo zařídit samo.


RewriteEngine On
RewriteBase /
RewriteRule ^(ofirme|sluzby|referencie|inspiracia|kontakt|predajna)/?$ index.php?log=$1 [L,QSA]
Kajman_
Profil *
Jo a jestli to máte celé v tom projekt.sk, tak
RewriteBase /projekt.sk/
Titlak
Profil *
V tomto to nie je, to som uz skusal. Ked som vyskusal nieco ine prepisat, tak mi to v pohode prepisalo. Uvadzam priklad, ktory modrewrite v pohode prepise.

RewriteEngine on
RewriteRule clanok(.*)\.html$ index.php?id=$1




<a href="clanok3.html">clanok3.html</a>

<?php #index.php

if(isset($_GET['id'])){
if($_GET['id'] == is_numeric($_GET['id'])){
echo "<p>Toto je článok číslo {$_GET['id']}</p>\n";
} else {
die("<p>Nesprávny formát id</p>\n");
}
}

?>

Toto téma je uzamčeno. Odpověď nelze zaslat.

0