Short answer: probably it's not a good idea to set Expire Header for these resources.
Explanation:
You need to know more about the basics of URL format and its delimiters ://
, @
, :
, ?
and #
:
scheme://[user:password@]domain:port/path?query_string#fragment_id
In your URL:
- Scheme:
http
- Username and password not present.
- Domain:
example.com
- Port not present, defaults to HTTP port
80
- Path:
/mywiki/load.php
- Query string:
debug=false&lang=en-gb&modules=startup&only=scripts&skin=vector&*
- Fragment ID not present.
The main problem here is that you are mixing the path and query string with each other. Your file location is /mywiki/load.php
and it has normal file extension, .php
. The query string on it's part sends data for this PHP script to process: name/value pairs separated by ampersands.
Now that we know we are dealing with a PHP script, we must realize that Apache is now providing dynamic content: content that changes. It is not generally a good idea to set cache control for this kind of content. If we would like to do that it is possible. We could set it by the file extension in .htaccess
or the PHP script itself is also able to set cache headers, e.g.
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 3600) . " GMT");
That would be an option if the PHP script provides images, downloads or other static content. However, since you are just using a PHP software instead of developing it, you should think that the programmers already have thought of that. It would also change back on updates. Therefore, you are likely done with the cache control when you have set the headers for static content.