PHP и вызов url?

Возможный дубликат:
получение текущего URL-адреса

Я не хочу использовать url (с любыми параметрами GET и т. Д.) В PHP-коде.

Поэтому, когда мой сайт находится на url: http: /sample.com/art/id/title, я хочу отобразить эту строку на веб-сайте.

Также есть одно … Мой код будет запущен на разных серверах с различными соглашениями с URL.

// Get HTTP/HTTPS (the possible values for this vary from server to server) $myUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && !in_array(strtolower($_SERVER['HTTPS']),array('off','no'))) ? 'https' : 'http'; // Get domain portion $myUrl .= '://'.$_SERVER['HTTP_HOST']; // Get path to script $myUrl .= $_SERVER['REQUEST_URI']; // Add path info, if any if (!empty($_SERVER['PATH_INFO'])) $myUrl .= $_SERVER['PATH_INFO']; // Add query string, if any (some servers include a ?, some don't) if (!empty($_SERVER['QUERY_STRING'])) $myUrl .= '?'.ltrim($_SERVER['REQUEST_URI'],'?'); echo $myUrl; 

Должны учитываться практически любые варианты, с которыми вы можете столкнуться (хотя mod_rewrite может испортить его неуправляемым образом, я не уверен).

Следующее должно предоставить вам как домен, так и URL:

 $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; 

У вас должен быть файл .htaccess, он называется перезаписи URL, пример файла .htaccess:

 Options +FollowSymlinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php?query=$1&%{QUERY_STRING} 

Это отправит все как art / id / title на вашу страницу index.php и будет использоваться с помощью $ _GET ['query']. Поэтому в файле index.php вы можете использовать переменную так:

 echo $_GET['query'];