параметр в url

[Удален]
1239

Добрый день!

Подскажите пожалуйста!

Для того чтобы взять методом get параметр из сроки url необходимо чтобы url имел следующий вид:

www.site.ru/index.php?param=123

а возможно ли чтобы выцеплять параметр например из строки www.site.ru/p123 или www.site.ru/123

можно ли это сделать и как по умолчанию указать в апатце например чтобы он при такой строке автоматом выцеплял нужный адрес и ссылал его на index.php

заранее благодарен!

F
На сайте с 12.09.2003
Offline
120
#1

RewriteEngine On
RewriteRule ^index.php.* - [L]
RewriteRule ^(images/|css/|templates/|js/|access|favicon|rss/|robots.txt).* - [L]
RewriteRule ^(.*) index.php?path=$1 [L]

как то вот так писать htaccess

[Удален]
#2
Faster:
как то вот так писать htaccess

работает толко картинки не грузит.

подскажите что необходимо ещё добавить или поменять, а то я только начинающий программер. :)

КМ
На сайте с 08.03.2007
Offline
66
#3

Можно и посредством php (так делаю я)


// Очищаем от пустых строк наш массив с параметрами урл.
function Clear_array($array)
{
$c=sizeof($array);
$tmp_array=array();
for($i=1; $i<$c; $i++)
{
if (!(trim($array[$i])==""))
{
$tmp_array[$i]=$array[$i];
}
}
return $tmp_array;
}

// Стартовая функция, возврощает очишеный массив с пораметрами из урл.
function StartCHPU($url)
{
$vbChpuURL = array();

$vbChpuURL = explode("/",$url);
$vbChpuURL = Clear_array($vbChpuURL);
$c = sizeof($vbChpuURL);
@$zzz = explode(".htm",$vbChpuURL[$c]);
@$vbChpuURL[$c] = $zzz['0'];

return $vbChpuURL;
}
$Chpu = StartCHPU($_SERVER['REQUEST_URI']);

// Далее массив $vbChpuURL содержит все параметры урл, к примеру www.site.ru/1/2/3/
// получается $vbChpuURL['1'] = '1'; $vbChpuURL['2'] = '2'; $vbChpuURL['3'] = '3'; и так далее...

КиллерМЕН добавил 09.02.2008 в 10:25

Senator007:
работает толко картинки не грузит.

подскажите что необходимо ещё добавить или поменять, а то я только начинающий программер.

примерно так, в совокупности с моим кодом выше


RewriteEngine On
Options +FollowSymlinks
RewriteBase /

# Новости, будет обрабатывать url www.site.ru/news/ и любые записи
# после /news/ которые можно получить на php примером выше
RewriteRule ^news(.*)+$ news.php [L,QSA]

# Статьи, будет обрабатывать url www.site.ru/articles/ и любые записи
# после /articles/ которые можно получить на php примером выше
RewriteRule ^articles(.*)+$ articles.php [L,QSA]
K
На сайте с 12.07.2006
Offline
295
Kpd
#4
Senator007:
работает толко картинки не грузит.

Надо полагатЬ, в адресах картинок указаны относительные пути ./ ../ и т.д.? Меняйте их на абсолютные пути, начиная c /

[Удален]
#5
Kpd:
Надо полагатЬ, в адресах картинок указаны относительные пути ./ ../ и т.д.? Меняйте их на абсолютные пути, начиная c /

Нет, у меня все пути абсолютные, все начинаются с имени сервера и далее по дереву.

но картинки не показывает если вставить.

RewriteEngine On

RewriteRule ^index.php.* - [L]

RewriteRule ^(images/|css/|templates/|js/|access|favicon|rss/|robots.txt).* - [L]

RewriteRule ^(.*) index.php?tt=$1 [L]

zhitov
На сайте с 30.01.2005
Offline
219
#6

Зачем картинки вообще сюда приплели?

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^index.php/(.*) index.php?param=$1 [L]

Все что после index.php/ - параметр переменной param

Строительные калькуляторы ( https://www.zhitov.com/ )
K
На сайте с 12.07.2006
Offline
295
Kpd
#7

Добавьте

RewriteCond     %{SCRIPT_FILENAME}    -f 

RewriteRule .* - [L]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий