Autor | Zpráva | ||
---|---|---|---|
Josef Přerovský Profil |
#1 · Zasláno: 24. 11. 2018, 23:19:46
Zdravím, mám prosbu.
V .htaccess souboru mám: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^.]+)$/ /$1.php [L] RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^([^.]+)$/ /$1.html [L] RewriteRule ^([a-zA-Z0-9\-]+)$ $1.php RewriteRule ^profile/(.*)$ profile.php?nick=$1 [QSA] RewriteRule ^detail/(.*)$ detail.php?id=$1 [QSA] RewriteRule ^server/(.*)$ status/lgsl_files/lgsl_details.php?id=$1 [QSA] Používám LGSL a nevím, kde by mohl být problém. Poradí někdo? Děkuji :) |
||
Ikki Profil |
#2 · Zasláno: 25. 11. 2018, 01:49:32
No dle všeho ti .htaccess nepředává hodnotu do kódu tak jak by měl, tedy to neurčí že se jedná o server #1
|
||
Keeehi Profil |
#3 · Zasláno: 25. 11. 2018, 02:13:34
Josef Přerovský:
Nemá být v url náhodou s místo id ? To je formát url který se mi podařilo na netu najít.
RewriteRule ^server/(.*)$ status/lgsl_files/lgsl_details.php?s=$1 [QSA] |
||
Ikki Profil |
#4 · Zasláno: 25. 11. 2018, 02:26:07
Keeehi:
Záleží jakou má verzi, ale většinou se využívá "s" jako "server", alespoň u verze Standalone. |
||
Josef Přerovský Profil |
#5 · Zasláno: 25. 11. 2018, 08:27:05
Zkoušel jsem to právě se s a výsledek je stejný...
|
||
Keeehi Profil |
Další věcí je, že proměnná
$lgsl_server_id se nenastavuje v lgsl_files/lgsl_details.php ale v index.php . Viz
global $output, $lgsl_server_id; $output = ""; $s = isset($_GET['s']) ? $_GET['s'] : ""; if (is_numeric($s)) { $lgsl_server_id = $s; require "lgsl_files/lgsl_details.php"; } elseif ($s == "add") { require "lgsl_files/lgsl_add.php"; } else { require "lgsl_files/lgsl_list.php"; } echo $output; unset($output); Takže v rewrite by měl být jiný soubor. RewriteRule ^server/(.*)$ status/index.php?s=$1 [QSA] |
||
Josef Přerovský Profil |
<?php //------------------------------------------------------------------------------------------------------------+ header("Content-Type:text/html; charset=utf-8"); //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ global $output, $lgsl_server_id; $output = ""; $s = isset($_GET['s']) ? $_GET['s'] : ""; if (is_numeric($s)) { $lgsl_server_id = $s; require "lgsl_files/lgsl_details.php"; } elseif ($s == "add") { require "lgsl_files/lgsl_add.php"; } else { unset($output); require "lgsl_files/lgsl_list.php"; echo $output; unset($output); $output = ""; } //------------------------------------------------------------------------------------------------------------+ ?> Vysledek: Tato stránka nefunguje Web xxxxx momentálně tento požadavek nemůže zpracovat. |
||
Keeehi Profil |
#8 · Zasláno: 25. 11. 2018, 15:18:38
„Prave ze je to ta promenna s“
Vždyť nikdo netvrdil že není. Jen jsem ještě v [#6] dodal, že kromě toho že tam nemá být id ale s tak je to přesměrované na špatný soubor. V souboru lgsl_files/lgsl_details.php se pracuje s proměnnou $lgsl_server_id Ve které má být právě to číslo co určuje vybraný server. V tomto souboru se ale tato proměnná nikde nenastavuje. Jediné místo v celém projektu, kde se do proměnné $lgsl_server_id něco přiřazuje je soubor index.php , který tu hodnotu bere z parametru s . Takže RewriteRule ^server/(.*)$ status/index.php?s=$1 [QSA] by mělo být správně.
> Tato stránka nefunguje > Web xxxxx momentálně tento požadavek nemůže zpracovat. Při určitém nastavení serveru se může taková chyba zobrazit když nastane problém v PHP. Je tedy možné, že díky správnému nastavení přesměrování se PHP posunulo ve skriptu někam dále a tam narazilo na chybu. Což klidně může být třeba jen problém s připojením k databázi. Podívej se tedy buď do error logu a nebo si zapni zobrazování chyb. Druhou možností je nějaký překlep v htaccessu který "odstřelí" server. |
||
Časová prodleva: 5 let
|
0