ugrás a tartalomhoz

SEO URL probléma

titanium · 2014. Aug. 21. (Cs), 20.19
Sziasztok!

.htaccess-ben minden nem létező célra irányuló kérést az indexre irányítok:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [QSA]

A következő kóddal értelmezem a SEO URL-eket:

$subdir  = substr(realpath(dirname(__FILE__)), strlen(realpath($_SERVER['DOCUMENT_ROOT'])));
$tmp_array = explode('?', trim($_SERVER['REQUEST_URI']));
$uri = str_replace($subdir, '', $tmp_array[0]);
$uri = ltrim($uri, '/');
$URIParts = explode("/", $uri);
Ezek után switchben includeolom az aloldalakat, ezzel így nincs is semmi gond a gyökérben. Viszont ha ezt már egy könyvtáron belül szeretném megcsinálni, nem akar működni. Az lehet a baj, hogy a .htaccess a külső indexre dob és a könyvtáron belülire kellene, viszont a könyvtárban lévő kódban az $URIParts-ban nincs semmi, ezt nem nagyon értem. Mit tegyek?
 
1

Mi a __FILE__, a

spapp · 2014. Aug. 22. (P), 10.59
Mi a __FILE__, a $_SERVER['DOCUMENT_ROOT'] és a $_SERVER['REQUEST_URI'] értéke?
Továbbá a változók értékei hogyan változnak az egyes lépéseknél?

Uri bontásra ezt is kipróbálhatod: parse_url
2

__FILE__: az aktuális fájl

titanium · 2014. Aug. 23. (Szo), 13.48
__FILE__: az aktuális fájl pontos elérési útja (.../public_html/mobil/index.php)
SERVER['DOCUMENT_ROOT']: a weboldal gyökérkönyvtára (.../public_html)
$_SERVER['REQUEST_URI']: az aktuális fájlt tartalmazó könyvtár (/mobil/)
$uri = str_replace($subdir, '', $tmp_array[0]);
Ezután lesz "/" az $uri változó értéke, ltrim után meg üres, így nyilván már az $URIParts-ban sem lesz semmi. Viszont ez csak akkor van, ha a mobil könyvtárban lévő index.php-ban van ez a kód, a gyökérben rendesen lebontja az URL részeket az $URIParts tömbbe.
3

közben megoldottam, ha

titanium · 2014. Aug. 29. (P), 18.02
közben megoldottam, ha valakinek hasonló problémája lenne, először az alkönyvtárat kell vizsgálni a .htaccess-ben, majd minden mást:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule mobil mobil/index.php [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA]