Autor Zpráva
perwin
Profil
Dobrý den,
já už jsem opravdu v koncích. Stále hledám způsob, jak přepsat URL, například tuto:
http://www.mujweb.cz/index.php?type=neco1&page=neco2
na
http://www.mujweb.cz/neco1/neco2
Stále mi to nefunguje, ať zkouším nejrůznější scripty z celého Googlu. Při příchodu na to /neco1/neco2 mi to hlásí: The requested URL /neco1/neco2 was not found on this server.
Zkoušel jsem třeba:
RewriteEngine on
RewriteRule ^/([^/]+)/([^/]+) /index.php?type=$1&page=$2 [NC]
Nějaké nápady, jak tuto URL zajistit?
Děkuji
Kajman
Profil
Zkuste si, jestli to máte vůbec zapnuté.

Možná by mohlo zlobit nadbytečné první lomítko za první stříškou.
perwin
Profil
Kajman:
mod_rewrite určitě zapnutý je. S ním pracuji bez problémů, až na tento konkrétní případ.
To lomítko tam být musí, jinak mi vše na webu hází Internal server error.
candiess
Profil
Moje používané řešení, funkční :)
#podstrkavani
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?/?([^/]+)?/?$ index.php?type=$1&page=$2 [L]
T-fon
Profil
Měl bych dotaz k tomuto tématu. Já používám tento kód:
RewriteEngine On
RewriteBase /wp/
RewriteCond %{QUERY_STRING} ^word=([^&]+)$
RewriteRule ^index\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html index.php?rw=1&word=$1 [L,QSA]

funguje mi, když je stránka ve tvaru ..../index.php?word=slovo (změní na ....slovo.html)
nefunguje mi, když je stránka ve tvaru ..../index.php?word=slovo&page=2 (nezmění se vůbec)

nevíte jak to vylepšit aby to fungovalo i v druhém případě? případně nějaký jiný kód?
ronny7335
Profil
candiess:
Zkoušel jsem tvoji metodu, ale nedaří se mi to rozchodit.
Mohl bys sem hodit i zdrojový kód php? Snad to nebude problém.

Díky

všude je plno návodů jak nastavit htaccess, ale nikde se nepíše nebo jsem nikde nenašel jak má výpadat php kód, což si myslím je docela důležité k zprovoznění hezkých url..
candiess
Profil
ronny7335:
No pleteš si pojmy..

.htaccess
v něm zapisuješ jakési pravidla, co se má kdy stát

pokud nějaký řetězec tomu pravidlu vyhovuje tak se provede podstrčení, tím chci říct, že
když máš adresu ve tvaru www.example.com/neco/nekde tak ty proměnné dostaneš do indexu.

pak je zpracuješ přes:
<?php
$prom1 = $_GET["type"]; //to je neco
$prom2 = $_GET["page"]; //to je nekde
?>

ty jsi ty proměnné mužeš nadefinovat sám:

candiess:
#podstrkavani
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?/?([^/]+)?/?$ index.php?type=$1&page=$2 [L]

no a pak si je stáhneš přes $_GET
-> www.example.com/neco/nekde je to samé jako index.php?type=neco&page=nekde
kapiš?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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