Почему адрес содержит & печатается как &? - PullRequest
0 голосов
/ 28 апреля 2011

Я только что выполнил миграцию сайта со старого сервера на новый.Новый сервер имеет версию PHP 5.3.2-1ubuntu4.5, apache2 и т. Д.

Старый сайт работал отлично, и новый сайт на новом сервере работает нормально, за исключением всех URL-адресов, содержащих & printout как &

Например, ниже строки приведен фрагмент исходного кода, который должен фактически напечатать файл css.Однако, поскольку & было изменено на &, файл css не вызывается, и сайт работает без файла cs.

<link rel="stylesheet" href="script.php?l=329ef537b34ea622036c008096902d53&amp;t=.css" type="text/css" charset="UTF-8" media="all">

, который должен быть

<link rel="stylesheet" href="script.php?l=329ef537b34ea622036c008096902d53&t=.css" type="text/css" charset="UTF-8" media="all">

, а такжениже пример

<a href="blog/?mid=lacta&amp;act=display">PROFILE</a></li>

должен быть

<a href="blog/?mid=lacta&act=display">PROFILE</a></li>

Как вы думаете, что является причиной этого?Файлы не изменились, и данные MySQL также не изменились.Я переместил все со старого сервера на новый сервер.Какие настройки на новом сервере мне нужно изменить, чтобы правильно печатать &?

----------- Обновлено

Для текущего сервера я использую Apache / 2.2.14 ​​(Ubuntu 10.04) и все настройки PHP php.ini по умолчанию, и да, я использую модуль перезаписи ...

Старый сервер использовал Apache / 1.3.36 и PHP 5.1.4 ..

Доменное имя, файлы .htaccess, все остальные файлы такие же.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2011

URI должны содержать амперсанды в качестве значений, закодированных объектами. Это совершенно правильно.

См. Специальные символы в значениях атрибута URI

0 голосов
/ 30 апреля 2011

посмотрите в своем php.ini для этого arg_separator.output и измените его соответствующим образом, это может вызвать проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...