Autor Zpráva
blahapet
Profil
Ahojky všichni mám malý problémek. V .htaccessu mám níže následující kód, kterým převádím dynamické URL na statické. Takže třeba chci, aby s dyn. adresy:

http://www.plaro.cz/index.php?route=./a/pokus

byla adresa:

http://www.plaro.cz/a/pokus/


Soubor: .htaccess
___________________________________________________
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([a-zA-Z0-9_/-]+)$ /index.php?route=$1 [L,QSA]
___________________________________________________


V hlavním souboru index.php potom vkládám podstránky:

___________________________________________________
$defaultPage = 'novinky/';
$errorPage = '404.php';

$route = isset($_GET["route"]) ? $_GET["route"] : $defaultPage;
$file = rtrim($route, '/');

if (is_file('./files/'.$file.'.php'))
include './files/'.$file.'.php';
else
include 'files/'.$errorPage;
___________________________________________________


Na stránkách http://www.plaro.cz (u Českého Hostingu) mi to takto vše funguje. Jelikož jsem tento způsob nevymýšlel sám (kamarád mi pomáhal vše dolazovat přímo na internetu), tak ale doma na wampserveru se při pokusu o kliknutí na odkaz zobrazí jen úvodní stránka wampserveru. V souboru httpd.conf mám:

__________________________________________________________
LoadModule rewrite_module modules/mod_rewrite.so (řádek odkomentovaný)

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
__________________________________________________________

U AllowOwerride jsem zkoušel dát hodnotu All, ale výsledek žádný.

Budu vděčný za jakoukoliv pomoc. Děkuji!
Davex
Profil
Mělo by to být povoleno v sekci

<Directory "c:/wamp/www">
  Options Indexes FollowSymLinks
  AllowOverride All
  ...
</Directory>

Pokud je tvůj skript v podadresáři např c:/wamp/www/cesta-z-mesta/, tak musíš změnit i cestu k souboru index.php v přepisovacím pravidle na /cesta-z-mesta/index.php?route=$1.
Petr Bláha
Profil *
Skutečně to bylo tím, co říká Davex...

"cesta-z-mesta" je třeba nahradit svým vlastním adresářem.

Ještě jednou děkuji!!!
blahapet
Profil
Omlouvám se, že vytahávám zpět staré téma. Mám ještě malý dotaz:

Všechno už mi funguje, co je výše uvedeno, ale pokud odkazuji na stránku stylem href="/novinky/" tak opět na internetu vše funguje, ale na localhostu musím zadat celou absolutní adresu href="http://localhost/plaro.cz/novinky/" . Nevíte, co prosím změnit v .htaccess?

.htaccess mám:
___________________________________________________________________________

RewriteEngine On

RewriteBase /plaro.cz

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([a-zA-Z0-9_/-]+)$ /plaro.cz/index.php?page=$1 [L,QSA]
___________________________________________________________________________



Děkuji!
Davex
Profil
Pomocí mod_rewrite se nedá měnit obsah webových stránek, takže se asi budou muset upravit odkazy nebo nakonfigurovat pro adresář plaro.cz/ samostatný VirtualHost, aby web fungoval na libovolně zvoleném doménovém názvu stejně jako na hostingu.
blahapet
Profil
Děkuji!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: