




PHP İle Sınırsız Parametreler, Sef Link İçin Kod Parçası.
-
PHP ile http://asd.localhost/asd/asdg linki için, aşağıdaki çıktıyı alabileceğiniz kod betiği paylaşmak istedim.
array 'SSL' => boolean false 'WWW' => boolean false 'Domain' => string 'asd.localhost' (length=13) 'subdomain' => string 'asd' (length=3) 'ParamCount' => int 2 'Params' => array 0 => string 'asd' (length=3) 1 => string 'asdg' (length=4)
HTACCESS DOSYANIZ
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*?)$ index.php?par=$1
PHP DOSYANIZ$URLInfo = Array(); $currentURL = "http://$_SERVER[HTTP_HOST]"; if(strstr($currentURL,"https://")){ $URLInfo['SSL'] = true; }else{ $URLInfo['SSL'] = false; } if(strstr($currentURL,"www.")){ $URLInfo['WWW'] = true; }else{ $URLInfo['WWW'] = false; } $currentURL = str_replace("http://","",$currentURL); $currentURL = str_replace("https://","",$currentURL); $currentURL = str_replace("www.","",$currentURL); $exploded = explode("/",$currentURL); $URLInfo['Domain'] = $exploded[0]; $subexploded = explode(".",$URLInfo['Domain']); if($subexploded[0]!=$exploded[0]){$URLInfo['subdomain'] = $subexploded[0];}else{$URLInfo['subdomain'] = '';} $params = Array(); if(isset($_GET['par'])){$params = explode("/",$_GET['par']);} $URLInfo['ParamCount'] = count($params); $URLInfo['Params'] = $params; var_dump($URLInfo);
-
demekki kimsenin işine yaramıyormuş :)
-
Hocam Intranet uygulamaları örnekleri yaz :)
-
Favoriye aldım.
Bir iki şey söyleyeceğim:
1) Domain 'asd.localhost' değil de 'localhost' olmalı.
2) Request header'ı da sunmalısın. DELETE, UPDATE, GET, POST bilgisine hatta headerdaki diğer parametrelere de ihtiyaç var.
3) Nginx ile çalışabilecek şekle getirirsen daha çok kişi kullanır. Örneğin (denemedim, https://winginx.com/en/htaccess adresinden çevirdim):
# nginx configuration location / { if (!-e $request_filename) { rewrite ^/(.*?)$ /index.php?par=$1; } }
-
Eline sağlık hocam elbette birgün işimize yarar.
-
ilerde işe yarayabilir sağol
-
bunu kendini gelistirmek icin yaziyorsan okey de birilerinin kullanmasi icin yaziyorsan yanlis yapiyorsun. zaten bunun kat kat iyisi bi dunya "route" libraryleri var. onlardan birine 1-2 pull request gonderirsen daha makbul olur