Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: Global ads.txt for all sites on server |
|
Author |
|
csdude55
Joined: 22 Jan 2023 Posts: 23 Location: USA, Wilkesboro
|
Posted: Tue 09 Jul '24 18:49 Post subject: Global ads.txt for all sites on server |
|
|
I have over 100 sites on my VPS. Most of them use the same info for ads.txt, but that data changes about once a month and it's a HUGE pain to manually update all of the sites!
So I'd like to rewrite example.com/ads.txt to a global ads.txt file. Via Apache .CONF files, of course, so that I could do it once and it would apply to all future sites unless I manually exclude them.
I thought that this would work, allowing me to upload to /home/ads.txt (not web accessible), set the permission to 0777, and all of the sites would use it:
Code: | RewriteEngine on
RewriteRule /ads\.txt /home/ads.txt |
But alas, no, it's not working. When I go to foo.com/ads.txt, it shows the original file instead of the data from /home/ads.txt.
Variations that I tried, but none of them did anything:
Code: | # with and without opening /
RewriteRule /ads\.txt /home/ads.txt
RewriteRule ads\.txt /home/ads.txt
# without escaped .
RewriteRule /ads.txt /home/ads.txt
RewriteRule ads.txt /home/ads.txt
# Thinking maybe I can't rewrite pre-directory, so
# upload it to example.com
RewriteCond %{HTTP_HOST} !example\.com [NC]
RewriteRule /ads.txt https://www.example.com/ads.txt [R=301,L]
RewriteCond %{HTTP_HOST} !example\.com [NC]
RewriteRule ads.txt https://www.example.com/ads.txt [R=301,L] |
Any suggestions on what I'm doing wrong?
I know that I could symlink all of them to the one file, but then I'd have to remember to do it each time I add a new site! So I'd consider that a last resort if I can't get the rewrite to work. |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Tue 09 Jul '24 20:33 Post subject: |
|
|
Unless I'm missing something, can't you simply use an alias directive in your configuration to reference your global file, e.g.
Code: | Alias "/ads.txt" "/home/ads/ads.txt"
<Directory "/home/ads">
Require all granted
</Directory> |
Note, assuming the target directory is outside the DocumentRoot, you'll need to explicitly grant access to the target directory.
Since this file changes, you might want to consider adding a cache-control/max-age response header to this file request. |
|
Back to top |
|
csdude55
Joined: 22 Jan 2023 Posts: 23 Location: USA, Wilkesboro
|
Posted: Wed 10 Jul '24 7:39 Post subject: |
|
|
Awesome, using "Alias" worked out great Honestly, I code in the configuration so rarely that I forgot that Alias existed! LOL |
|
Back to top |
|
|
|
|
|
|