Why is address containing & is all printed as &?
I have just done the website migration from the old server to the new server. The new server has PHP Version 5.3.2-1ubuntu4.5, and apache2 and etc.
The old site was working perfectly fine, and the new site in the new server works fine except all the urls containing & prints out as &
For example, below line is a snippet of the source code, which should actually print the css file. However, since & has been changed to &
, css file does not get called, and site works without the cs file.
<link rel="stylesheet" href="script.php?l=329ef537b34ea622036c008096902d53&t=.css" type="text/css" charset="UTF-8" media="all">
which should be
<link rel="stylesheet" href="script.php?l=329ef537b34ea622036c008096902d53&t=.css" type="text/css" charset="UTF-8" media="all">
and also, below example
<a href="blog/?mid=lacta&act=display">PROFILE</a></li>
should be
<a href="blog/?mid=lacta&act=display">PROFILE</a></li>
开发者_运维问答What do you think is the reason for causing this? Files has not changed and mysql data has not changed either. I moved everything from old server to new server. What setting in new server do I have to change to correctly print & ?
-----------Updated
For the current server, I am using Apache/2.2.14 (Ubuntu 10.04) and PHP php.ini settings are all default, and Yes I am using rewrite module...
Old server was using Apache/1.3.36 and PHP 5.1.4..
Domain name, .htaccess files, all other files are same.
URIs should contain ampersands as entity encoded values. It's perfectly correct this way.
See Special Characters in URI attribute values
have a look in your php.ini for this arg_separator.output and change it accordingly, it could be causing the problem
精彩评论