Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Замена URI-запроса с помощью .htaccess
 
 автор: 3dmax   (19.07.2010 в 00:06)   письмо автору
 
 

Как известно, существует проблема связи URI из html с XML в спец. символах. Так символ "&" в html означает часть строки запроса, переданного через URL методом GET. Например: "http://localhost/?page=general&sheet=11". С точки зрения XML данный URL не верен и у меня возникают проблемы при создании XML-файла карты сайта!
Вопрос следующий: после изменения символа "&" на "&" во всех своих ссылках, необходимо как-нибудь заменять его и в адресе, перед загрузкой страницы хотя бы только один раз.

  Ответить  
 
 автор: mihdan   (19.07.2010 в 23:23)   письмо автору
 
   для: 3dmax   (19.07.2010 в 00:06)
 

В каком адресе? Символы заменяются в исходном коде один раз и больше ничего не нужно

  Ответить  
 
 автор: 3dmax   (20.07.2010 в 06:59)   письмо автору
 
   для: mihdan   (19.07.2010 в 23:23)
 

Мне уже помогли на другом форуме. Ответ следующий:

RewriteCond %{QUERY_STRING} ^(.*)&(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1&%2 [R=301,L]

Одной замены вполне достаточно в моих URI. Да вот только теперь меня смущает параметр R (переадресация). Если без него никак не сделать, то такая замена в общем-то и не нужна.-- Только замедление от неё. В этом случае лучше в PHP в метод GET добавлять "amp;"...

Зато у меня возникла новая проблема:
Как сделать так, чтобы любой путь в URI превращался в параметр?
Следующий код:

RewriteCond %{SCRIPT_FILENAME} ^.*$
RewriteRule ^(.*)$ http://localhost/?page=$1 [L]

... казалось бы должен работать, но почему-то зараза приводит к зацикливанию?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования