2013-05-12 4 views
1

На моем сайте, скажем, test.com, если кто-то посещает test.com/hello, я хочу, чтобы он перенаправлялся на test.com и передавал строковые данные после «/» (в этом случае « hello ") на странице, например, через PHP.Получить данные из URL-адреса

Могу ли я сделать это с помощью файла .htaccess?

ответ

-1

Вы можете использовать Rewrite Engine

RewriteEngine On 
RewriteRule ^(.*)$ processor.php?url=$1 
+1

Что именно это делает? Я никогда не писал файлы .htaccess, поэтому я их не понимаю. Благодаря! – TomRichardson

0

Вот 2 варианта, чтобы получить несколько параметров, сочетающие mod_rewrite и PHP код. Попробуйте это в одном файле .htaccess в корневой директории, используя этот запрос в качестве примера:

http://test.com/1/2/3

Поместить следующий код в файле .htaccess:

# Rule-set starts with next 6 lines: 
Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/

# Exclude all requests to existing files. 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule .* - [L] 

1) Вариант использования переменная REQUEST_URI в PHP:

# Additional 2 lines in .htaccess file 
RewriteCond %{REQUEST_URI} !Test\.php [NC] 
## Map silently all requests to Test.php 
RewriteRule .* /Test.php    [L] 

PHP пример кода в Test.php захватить URI-путь "/ 1/2/3":

$URI = explode('/', $_SERVER['REQUEST_URI']); 
echo var_dump($URI); 
/*** 
Result: 
array (size=4) 
    0 => string '' (length=0) 
    1 => string '1' (length=1) 
    2 => string '2' (length=1) 
    3 => string '3' (length=1) 
**/ 

2) Возможность использовать переменную QUERY_STRING в РНР:

# Additional (Optional) 2 lines in .htaccess file 
RewriteCond %{REQUEST_URI} !Test\.php [NC] 
## Map silently all requests to Test.php, passing the URI=Path as a query 
RewriteRule ^(.*) /Test.php?$1   [L] 

пример кода PHP в Test.php для захвата QUERY " 1/2/3 ":

$QUERY = explode('/', $_SERVER['QUERY_STRING']); 
echo var_dump($QUERY); 
/*** 
Result: 
array (size=3) 
    0 => string '1' (length=1) 
    1 => string '2' (length=1) 
    2 => string '3' (length=1) 
**/ 
Смежные вопросы