Autor | Zpráva | ||
---|---|---|---|
DarkMeni Profil |
#1 · Zasláno: 8. 4. 2012, 16:02:40
Zdravím, je možné nějak přepsat (neodstraňovat) znak : z adresy v %{REQUEST_FILE} (za posledním lomítekm) na jiný znak?
Z návodu jsem si opsal kód pro .htaccess na podstrčení obsahu, aby místo "stranka.cz/hodnoty proměnných" server začal zpracovávat "stranka.cz/index.php?query_string=hodnoty%20(mezera)prom%(kód pro ě)nn%(kód pro ý)ch" a tam si s tím už poradil php skript. Ale když budu potřebovat najít třeba adresu "stranka.cz/12.34.56.78:90" takže vlastně "stranka.cz/index.php?query_string=12.34.56.78:90" tak místo toho dostanu Forbidden (že nemam přístup ke složce "/12.34.56.78:90"), nevim kvůli čemu to je, ale bez : to funguje jak má (tak jí třeba bere jako port nebo nevim co). Tak je možné nějak před podstrčením tu : přepsat třeba na .. nebo cokoliv, ale aby to po zadání této adresy začalo zpracovávat ten skript co má (v php pak třeba .. zase přepíšu na :). |
||
Kajman Profil |
#2 · Zasláno: 9. 4. 2012, 13:11:32
Jaká pravidla pro přepis teď používáte?
|
||
DarkMeni Profil |
#3 · Zasláno: 9. 4. 2012, 19:53:45
Celý sobor .htaccess vypadá zatím jen takto:
RewriteEngine On RewriteBase / Options +FollowSymLinks RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) /?query=$1 RewriteEngine On RewriteBase / Options +FollowSymLinks RewriteCond %{REQUEST_FILENAME} : RewriteRule \.\. $1 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) /?query=$1 |
||
Davex Profil |
#4 · Zasláno: 9. 4. 2012, 21:25:05
V prvním pravidle přepisuješ na hodnotu
$1 , která nic neobsahuje. Krom toho to pravděpodobně nebude vůbec fungovat v Apache na Windows, protože dvojtečka je určena pro speciální názvy zařízení a Apache tuto cestu zablokuje ihned po přijetí požadavku.
|
||
DarkMeni Profil |
#5 · Zasláno: 9. 4. 2012, 21:32:37
Aha, takže na Windowsu ne, a díky za vysvětlení proč to nejde.
|
||
Časová prodleva: 12 let
|
0