Apache On OSX Is Adding PHP Extension Within URL - Breaking Mod Rewrite
Sep 23, 2013
I am setting up my work environment on OSX (a new macbook), and my previous setup is a Windows 7 PC. I've found that mod_rewrite is no longer working, and have found some clues why:
Typically, I want to take [URL] ....
which by mod_rewrite will get turned into [URL] ....
so far so good, and this works fine on the Windows PC.
However, I believe Apache on my macbook has something configured differently, as since it knows about the file catalog.php, it appears to update [URL] ....
BEFORE the mod_rewrite happens. Hence the mod_rewrite fails.
I am basing this on having enabled RewriteLog in httpd.conf.
Found the fix. Per stackOverflow - turns out adding the following to the .htaccess file:
I run a Perl/CGI script from a Web page to download some files located in a Linux server. When I click from a Windows XP on the link of the file to download via this Web page (IE), a dialog box will be displayed to ask me to "Open" or "Save" the file (.txt, .doc, .xls,...) but for some extensions like ".dat" or ".asc", the dialog box ask me to save it only and I have not an "Open" button.
I tried to configure Apache to add these extensions as text/plain by adding these lines in http.conf:
AddType text/plain .asc .txt .dat
How can I add these extensions (.dat, .asc and other extensions) to Apache configuration to be able to open it with Textpad or Notepad?
I hope that the users will be able to open it with Notepad or TextPad without saving it. I know that we can add this type directly in the stations XP but I have a lot of users and I cannot manage that. I hope to perform it from the server. I think something is wrong or missing in my AddType, AddHandler or LoadModule?
I'm trying to configure a host to use vhosts but the server keeps breaking when I uncomment the Include vhosts file line. The apache process starts but none of the hostnames work. When the line is commented out, only the main hostname (defined in httpd.conf) works.
I have all my specify modules are loaded in pache like mod_rewrite in other face I have a script need require mod_rewrite in install steps but I have in testing : Apache Mod-Rewrite Unavailable
With this whole no-www thing going on. I've decided to have a look at whether I can do this for my domains.
Instead of writing a
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC] RewriteRule ^(.*)$ h77p://domain.com/$1 [R=301,L]
for every single domain I'd like to do this for across all domains as standard. I'm not too hot on rewrite rules and have in the past avoided them cos of the complexities. But I'd like to get this done, and no silently do it, but reflect the URL difference in the webbrowsers address bar too.
On my website at www.jamescobban.net I have a directory which contains an ancient copy of my old static implementation of the site. It is there just in case someone has saved a old URL. However the data in that directory is several years out of date, so I would like to redirect the old static URLs to the equivalent dynamic URLs. For example: URLs.....
I wasn't warned that the <Directory> in the Apache conf file has to specify AllowOverride All whereas the default that is created when I install Ubuntu is AllowOverride None.I wasn't warned that I have to enable the mod_rewrite using a2enmod or else the rewrite commands are rejected.I am testing this on my private copy of the web-site where I can fiddle with options like that in the config file, but when I migrate this to my public server I do not have that privilege, so I want to try setting up the URL rewriting in .htaccess.
I would like to write a rewrite rule that does the following:
RewriteEngine On
Redirect 301 URL...
So what I want is that the first url is rewritten to go to the second ..I have a whole bunch of links that I have to redirect, so I would like to place them all into one .htaccess file or into the default configuration file of apache. So what I do not want is to create SomeFolder1 and someOtherFolder2 and to place a .htaccess file into that place in order to make it work. In fact I want to ignore the folders of the old link and only use the pagename.
I installed Fedora Core 4 from the DVD included with the "Run Your Own Web Server" book. Everything went great.
Now I need to add IMAP to PHP. This has proved very difficult, as it seems that the sources are not provided. I downloaded the latest Apache and PHP and tried to build with the same configuration used to build the ones that came with the book. (Apache went fine - the module inclusions are done through the configuration files. PHP is not going well at all - I grabbed the ./configure options from a phpinfo() call, and it just barfed all over the place.)
Simple question: is there an easy way to get the IMAP into PHP without going through the recompilation?
Simple answer: Install the PHP-IMAP RPM. I sure made this a lot harder than it need to be.
I'm running Apache 2.4.4 Win32 on a Windows 2008 server. When trying to optimize a website I noticed a random reoccurring 2550ms delay in Time To First Byte. A file could have a TTFB of 200ms several times but suddenly it would get 2750ms. This could be a static file (image, html, js) or php. I've measured using ApacheBench (locally and remotely), webpagetest.org and bytecheck.com. After much trial and error I found the problem was with mod_rewrite. Disabling this and everything is fine.
I have setup a blank/new install with only basic config change (Listen, ServerRoot etc) to replicate result without anything else interfering. Following is the rewrite section I add to config.
Code: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule (^/Pictures.*) /$1 [L] </IfModule>
After Apache has started I execute "ab http://my.example.com/Pictures/Thumbnails/tmb_400X400_FFFFFF_660.jpg" and always get the delay. If I execute again it's normal. If I wait at least 30 seconds I get the delay. Following is a section from error.log with trace8 logging.
Code: [Tue Mar 12 23:28:56.123519 2013] [rewrite:trace3] [pid 7624:tid 888] mod_rewrite.c(468): [client 69.x.y.90:36279] 69.x.y.90 - - [my.example.com/sid#42c748][rid#26df0d0/initial] applying pattern '(^/Pictures.*)' to uri '/Pictures/Thumbnails/tmb_400X400_FFFFFF_660.jpg'
[Code] ....
As you see from line 3 to line 4 the time skips 2550ms. When the TTFB is normal then the log is identical except time doesn't change from line 3 to line 4. If I delete the rewrite section in config then TTFB is always normal, no matter what.
When I testet on the live server the time for fully loaded increase from 3800-4000ms to 8500-10500ms when mod_rewrite is enabled. And that is about 30 requests (php+css+js+images). So the impact is significant.
What can this be? I'm having a hard time believing it's a bug. Isn't mod_rewrite used a lot? I'm running Ubuntu (linux) at home, I'm going to install Apache there and see if I get the same result.
In my web site I have several index pages in different languages in the following format
[URL] ....
Two days ago I noticed increased, many times. Google bot activity on my site and when I checked my log file I found that all pages crawled were wrong web addresses: to the above index were added existing files from my site like
/folder1/folder2/file.html
So, the strings looked like
[URL] ....
And surprisingly all they returned code "200".
My question is: is there any way to rewrite such requests to the first ".html" found in the string.
I am trying to capture 3-4 digits when sent as part of a URL, for them to be proxied to another URL. I have no control over how the source sends this data, I am supposed to redirect it. Which works.
The problem is this works for all URLs that have digits to this server. I am expecting to trap URLs that send digits as part of the first call to the server, but this also affects URL calls that are part of other server call transactions, once digits appear, it gets redirected. What can I do to stop this interference?
I want to make it an internal rewrite though, not an external redirect. If I remove the [R=303] I still end up with a redirect (a 302). I assume mod_rewrite is forcing an external redirect because it's to a different [sub]domain.
Is there any way I can overcome this and make the change internal?
I am using apache with subversion and need to redirect a request for a file to a different file based on the user that has made the request. It appears that the URL for the requested file could be changed on the fly using RewriteMap; however, is there any way to get the User (as typically given in the request_rec available to apache hooks) making the request in the program used?
I am running a few different web servers on my home network and have found a way of binding each wb server (and any virtual hosts) to domain names and having a "central" web server rerouting a request to the appropriate server using reverse-proy. at the moment, this central web server is IIS (Windows Server 2008 R2) based and it works perfectly. I want to change the central server to an Apache based one.
As an example; I want the central server to see an incoming http request (e.g sub.domain.com) and reroute it using reverse-proxy to a different web server that wouldn't normaly be accessible from the Internet (e.g 192.168.1.122/index.html).
My question is how do you reverse-proxy to a different server on the LAN with mod_rewrite in Apache?
After a few years with apache 2.2 I decided to try apache 2.4 Both are running on windows 7. I had to recompile my modules against the new api, but that was succesful. I am now confronted that the rewrite rule for one of my locations :
I have finally pulled the plug on Site5. Many of you know that they were in the process of migrating many of their older servers to hosting at ThePlanet. We got a notice on Sept 25 that ours was supposed to happen the week of Sept 29-Oct 3 (didn't happen!) and that ". One of the chat girls let it slip that we were migrated on Oct 10...(we weren't notified of our new IP!). As our old server "xxxxx.site5.com" was up and running, we didn't know of any trouble, and ran happily along with our site, updating databases, maintaining code, etc. Then they flipped the switch today on our old server. We were pretty much messed up for Friday afternoon through the weekend while we waited for them to finish their maintenance. The support guys who came in Monday A.M. tried to help, and explained that (unfortunately) both the new and the old servers had problems. I should say that they DID help. But it was too little too late.
Needless to say, I decided we'd had enough, as this was not our first issue with not getting support when we needed it...we migrated on Friday afternoon. If you are looking for a good provider, search elsewhere, I'll be posting more info about where we went.
Site5 support is inadequate for the following reasons:
-support is only accessible by email or web form submission
-usually takes hours for a real person to respond even when subject includes the word "DOWN"
-customer is not able to escalate an issue, priority is at the whim of the responding technician.
I suggested some improvements to Brendan Diaz, CEO at Site5 after our last major ordeal in January. I think that they need to rethink and overhaul their support structure before they add any more clients to business hosting.
I was trying to get the OCI8 and PDO_OCI extensions of PHP to work with Apache 2.4 and one of the things that needed to be done was to add a couple of variables to the Apache environment, but when I added these:
Apache took ORACLE_HOME fine, but LD_LIBRARY_PATH never took the values of the variables, I had to put the absolute value of them in order for it to take it.
We have an ongoing problem with Plesk on 1and1 dedicated servers.We host around 80 websites, all of which are very light and have relatively low traffic. When we get to setting up around the 70th website and create a new sub-domain, Apache crashes with the error:
Template_Exception: Can not restart web server: file: /usr/local/psa/admin/plib/Service/Driver/Web/Server/Apache.php line: 104 code: 0
We then run "bootstrapper.sh repair" to get Apache back online. But can't create any new sub domains, without the same issue occuring. With each server, 1and1 raise a ticket with Parallels, who log in and fix the issue. But then Following the Parallels fix, the server runs slowly, sometime throwing up 502 errors etc, which nobody is able to fix, and again, we have to move servers.We have just hit exactly the same issue on our 3rd and final 1and1 server.