Is there anyway to emulate the functionality of the ErrorDocument using rewrite rules, redirects, rewrite conds or other methods.
I'm trying to create a 404 page that can use dynamic variables (not allowed in ErrorDocument), that serves a custom 404 page and also logs a 404 in the HTTP status code in the logs.
I can achieve one or the other but not both as the ErrorDocument does.
I am new to wordpress; I want a url rewrite rule for my htaccess. I want when a user visits www.domain.com/services/manu/ the url on the address bar should be www.domain.com/services/. I don't want a permanent redirect.
I run a the polyglot website [URL] .... and my question is about "how to serve a page in the language preferred by the user, if available?"
At the moment I use Multiviews to add a language code to the requested URL according to the AcceptLanguage header (e.g. if "tr", serve index.html.tr instead of index.html), but this information doesn't always match user wish and I was told that serving different filenames for the same requested URI can prevent proper pages indexing by search engines.
So, I will now store web pages in each language in a specific directory, e.g. subdirectories en, it ru, tr, etc. For instance /tr/index.html will be in Turkish.
On every page, user can change language clicking on a link showing e.g. "uk" for Ukrainian. Now I want that once they do that all pages requested by the same client be served in the same language, unless/until user click on another language link.
I know that I could set a cookie or use HTTP-REFERER for that, but possibly the browser can be set to refuse cookies or not sent the Referer HTTP header.
So my question is : knowing that when a user click on a language link we serve a page in the corresponding directory, how could I reuse that information for next request of the same client (same IP address), including it in a RewriteCond directive so that I can serve requested page in the same language directory, if it exists.
I wish to avoid server side scripting (at present the website is 100% static).
I have 408 error and put a domain to impersonate the original is blank or rediccionamiento domain to the original. He always says: Time Up and error 408.
Basic question: does it matter where I set the document root for apache on a Linux system? I've googled this but haven't found a good answer.
This is for a VPS server running the Ubuntu (Debian) server os that I'm configuring. I'd prefer to simply create a new directory off the root and set that as the document root in the apache config file. Would this present any kind of security issue?
If that's no good, what's the best choice -- stick to the default?
And I think everything is working. When openingen 127.0.0.1 I see the apache message that the server is running and when executing phpinfo() it displays the PHP info.
My problem is that I'm trying to change the document root.
After this I did a reboot of the apache server using the CMD httpd -k restart. I even tried restarting using the apachemonitor and rebooted the whole server. But apache still loads the files from c:/Apache24/htdocs
I can't find any more entries with htdocs to change. What am I missing?
I am trying to configure Apache 2.2 on Linux Mint 17 ( derived from Ubuntu 14 LTS).
I am wanting to create a variety of localhost sites all for development. One of those is built on Laravel 4. I have followed every tutorial I can find yet, for some reason which I do not understand ALL my sites route back to the Laravel root document when called from the browser. Just don't get it.
Here is my hosts file:
Code:
127.0.0.1 localhost 127.0.1.1 vince-XPS-8300 127.0.0.1 auburntree 127.0.0.1 example
I am working on a website which is planned to have many articles, each with their own directory [url].
I would like the website to be as automated as possible in terms of adding new content and the like.
After a little bit of research, I learned about Apache's ErrorDocument directive, and IIS's equivalent.
What I had in mind was that users would type in the URL they wanted (such as [url], and the server would not be able to find this directory and would try to return a 404.
The file I would tell the server to use for 404 messages, would be a PHP file. It would read what the URL was (to find out what the user wants to look at), convert the data from the URL into the same format as details of articles held in my database, and the script would then check to see if there were any articles available which matched what the user was looking for.
My understanding is that if an article exists, I will be able to extract the article information from the database, and present this as the web page while manually sending a HTTP 200 response. If the article did not exist, a standard 404 page could be offered.
My questions are:Is my understanding of the process here correct?
Is the process and procedure that I want to follow correct? Does it have any flaws?
Other than how to tell the server about the custom ErrorDocument PHP script, is there anything which differs the process between Apache and IIS?
Assuming that the above works for typical users, would it work properly for search engines as well?
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'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?