Forum Webscript.Ru

Программирование => PHP => Тема начата: saska от 03 Октября 2003, 16:06:56

Название: Вопрос про хитрый редирект
Отправлено: saska от 03 Октября 2003, 16:06:56
Собственно на данный момент сайт имеет динамический контент. Соответственно чтобы поисковики индексировали, имеется htacces, в котором включен механизм редиректа (или как он там называется), имеется index.php, в котором в зависимости от $REQUEST_URI выдается Header location. Например

if ($REQUEST_URI=="/index/main.html") HEADER("Location: http://blabla.ru/main.php?id=0");


Естественно, после такого меняется и строка адреса броузера на http://blabla.ru/main.php?id=0.

Собственно вопрос. Можно ли так сделать, чтобы в строке адреса броузера после редиректа осталось http://www.blabla.ru/index/main.html ???

Буду очень благодарен за совет!
Название: Вопрос про хитрый редирект
Отправлено: AliMamed от 03 Октября 2003, 16:20:02
if ($REQUEST_URI=="/index/main.html"){
 HEADER("Status: 200 Ok");
 $id="0";
 include_once("main.php");
 }
Название: Вопрос про хитрый редирект
Отправлено: AliMamed от 03 Октября 2003, 16:20:44
правда я не понял при чем тут поисковики
Название: Вопрос про хитрый редирект
Отправлено: Alexandr от 03 Октября 2003, 16:24:05
Цитировать
saska:
if ($REQUEST_URI=="/index/main.html") HEADER("Location: http://blabla.ru/main.php?id=0");

эту строчку в п#$%у
а в .htaccess
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteRule ^index/([1-9][0-9]*)/main.html$ /main.php?id=$1 [QSA,L]
Название: Вопрос про хитрый редирект
Отправлено: saska от 03 Октября 2003, 19:42:24
у меня в htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^index/(.*)$ /index.php/$1

ForceType application/x-httpd-php


Чем на мой взгляд хорош вариант с index.php, так это то, что в нем можно организовать практически любую обработку параметра после /index/..  Например выделение подстроки в строке и т.д. А ведь с htacces (твой вариант rewrite rule) такого не получится, или я не прав? Но щас буду пробовать. Спасибо за совет!
Название: Вопрос про хитрый редирект
Отправлено: Tronyx от 04 Октября 2003, 15:23:39
Цитировать
saska:

ForceType application/x-httpd-php

А это зачем? Почитай вот эту статью про мод реврайт - http://sitemaker.ru/technologies/webserver/mod_rewrite/
Название: Вопрос про хитрый редирект
Отправлено: saska от 04 Октября 2003, 16:03:08
Цитировать
Tronyx:
А это зачем? Почитай вот эту статью про мод реврайт - http://sitemaker.ru/technologies/webserver/mod_rewrite/


Прочел.. Правда не понял к чему это ты. Вроде там совершенно другие вещи. А отцитированый тобой код означает, что для парсинга файла index.php будет запускаться php
Название: Вопрос про хитрый редирект
Отправлено: Tronyx от 04 Октября 2003, 16:16:37
ИМХО проще так:

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /pages_handler.php?$1

Если это не файл, и не папка то попадаем на pages_handler.php, а в скрипте разбираем, наш это клиент или 404.
Название: Вопрос про хитрый редирект
Отправлено: saska от 04 Октября 2003, 17:08:56
ну в принципе у меня почти так и было. Только парсингом запросов занимался index.php и в зависимости от на нужную страницу перекидывал с помощью Header (Locate ..)