01.05.2008, 22:02 | #1 |
Мастер
|
Вопрос спецам по php
У меня появилась нетрадиционная ситуация с кодом САПЫ на joomla:
Некий умелец-любитель rewrite написал преобразование url в .htaccess из традиционного: http://урл_сайта/index.php?content=1&view=1 в http://урл_сайта/content/view/14/1/ Естесственно САПА видит преобразованный код, вот только купленные по этому адресу ссылки никто не видит, поскольку код САПЫ спрашивает при запросе страницы честый REQUES_URI, т.е. - http://урл_сайта/index.php?content=1&view=1 Может кто поможет с преобразованием кода САПЫ. Вот код mod_rewrite: ------------------------------------------ Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] RewriteRule ^(content/|component/) index.php RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L]
__________________
А тут Вы быстро можете посчитать бюджет оптимизации Не забывайте - создание сайта, создание сайтов! |
01.05.2008, 22:26 | #2 |
Новичок
Регистрация: 12.11.2007
Сообщений: 48
Вес репутации: 201
|
Сапа получит http://урл_сайта/content/view/14/1/
У меня блог wordpress с чпу, сапа получает чпушные адреса. |
01.05.2008, 22:29 | #3 |
Мастер
|
САПА получает то что нужно, вот только код отдает ссылку только по http://урл_сайта/index.php?content=1&view=1, а не по http://урл_сайта/content/view/14/1/
__________________
А тут Вы быстро можете посчитать бюджет оптимизации Не забывайте - создание сайта, создание сайтов! |
02.05.2008, 07:35 | #4 |
Злой модератор
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
|
Т.е. ссылки были проданы на страничке /index.php?content=1&view=1, а теперь на сайте сменились все адреса?
Можно вот так получить оригинальный адрес PHP код:
|
02.05.2008, 13:42 | #5 |
Администратор
Регистрация: 05.02.2007
Сообщений: 18,405
Вес репутации: 715
|
timtroll, если в линкс.дб ссылка должна быть по адресу /index.php?content=1&view=1 а по жизни такого уже нет - то переиндекс.
Если в линкс ЧПУшный алрес - /content/view/14/1/, а ее просто не видно - то это лечится. Вызовите phpinfo() и найдите подходящую переменную, в которой верный адрес есть. его и передайте в конструктор в $o['request_uri']
__________________
Читаем ФАК |
02.05.2008, 15:01 | #6 |
Мастер
|
Сайт изначально САПА проиндексировала как /content/view/14/1/, в реальности установленный код САПЫ выдает /index.php?content=1&view=1, поэтому половина ссылок в ЕРРОР.
$o['request_uri'] = $_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"]; $sape = new SAPE_client($o); Это не подходит, потому как Код и так выдает все в виде /index.php?content=1&view=1 Задача в том, чтобы код САПЫ выдавал $o['request_uri'] как /content/view/14/1/ т.е. так, как это делает mod_rewrite PS я не php-шник, поэтому сюда и пишу..
__________________
А тут Вы быстро можете посчитать бюджет оптимизации Не забывайте - создание сайта, создание сайтов! |
02.05.2008, 15:12 | #7 |
Мастер
|
Сорри, я Вас не понял... в линкс.дб ссылки только те, которые размещаются, а урлов страниц там нет... :-)
__________________
А тут Вы быстро можете посчитать бюджет оптимизации Не забывайте - создание сайта, создание сайтов! |
02.05.2008, 15:44 | #8 |
Злой модератор
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
|
Вообще-то в $_SERVER["REQUEST_URI"] в таких случаях и содержится новый адрес вида /content/view/14/1/ и никаких дополнительных изменений делать не нужно. Ну попробуйте еще сделать
PHP код:
PHP код:
Есть. Иначе как бы он определил на какую страницу какие ссылки ставить? Посмотрите внимательнее. Последний раз редактировалось Wink; 02.05.2008 в 15:47. |
02.05.2008, 16:23 | #9 | ||
Мастер
|
Цитата:
Цитата:
Огромное спасибо!
__________________
А тут Вы быстро можете посчитать бюджет оптимизации Не забывайте - создание сайта, создание сайтов! |
||
02.05.2008, 16:34 | #10 | |
Злой модератор
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
|
Ну уж не знаю почему у вас нет Вот кусок моего линкса
Цитата:
|
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос к спецам про ДНС | Diamond | Курилка | 4 | 27.05.2008 16:01 |
Вопрос спецам в PHP | sova | Разработка и сопровождение сайтов | 3 | 14.09.2007 18:00 |
Часовой пояс GMT +3, время: 19:41.