Mod-rewrite Hosting: Compare Hosting

Showing top 10 results Show All

Oops! No Hosting Plans Match Your Search

You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.

Ask Our Experts

Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.

Please fill in all fields.

Thanks! Your request has been sent. We'll reply within 24 hours.

Filtering by:
  • Mod-rewrite
Reset

What is Mod_Rewrite Hosting?

The mod_rewrite module is an Apache module that provides the ability to rewrite URL requests as they are made. This allows website users to see and interact with simple or “pretty” URLs instead of the complicated ones created by a web application.

You probably use URLs everyday, without thinking much about what is actually going on “under the hood.” To understand how Apache mod_rewrite works, and why you’d need it, we need to look at what a URL is and how dynamic web applications work.

Uniform What Locator?

A URL is a Uniform Resource Locator.

In the early days of the internet, the idea was that you were looking for some specific file, document, or image: a resource. The resource existed on some other computer, you just needed to know:

  1. The name of the computer it was on.
  2. The path to the file itself.

The name of the computer is what we now call “the domain name,” and evrything after the .com or .net (or .whatever) was the path to the file.

http://example.com/path/to/filename.html

Web applications and URLs as query strings

Eventually, people started serving more than static documents and resources on their web server. People started building dynamic websites that would pull their content out of a database.

Imagine a typical CMS-driven blog website. Its natural, and desirable, to think of a single blog post as a document or resource. But that isn’t really the way the computer is storing it.

The is some file, perhaps index.php, that includes code to take an input id-number, make a call to the database, and then display the content of the post to the user.

The “real” URL for the blog post might be:

example.com/blog/index.php?post=342

The /index.php portion specifies the filename, and the ?post=342 is an input specifying that you want post number 342.

There are two problems with that.

The practical problem is that the URL doesn’t contain any real information. This makes it hard to remember and unattractive to read. It just looks like gibberish. It gives search engines no information about the content of the post, either.

The philosophical problem, or conceptual problem, is that it breaks the idea that a post is a resource unto itself, a document. The semantic meaning of the URL is: “Show me the document at index.php, with the results of post=342 included.” This is not what is actually intended, though.

Better URL structure

A better URL structure for post 342 might be:

example.com/blog/342

An even better structure would be:

example.com/tech-topics/url-rewrites-and-philosophy

The second one is better because it contains more information about the post itself: the title and its category. But even the first is a lot better than before, because its structure suggests that the post number 342 is a unique entity, a resource or document with its own existence.

Benefits of a better URL structure

  • Clean URLs are easier to remember, type, and transmit. People write down URLs, people say them over the phone to their friends, people hand-type them into emails (yes, instead of copy-and-paste — happens all the time).

  • URLs that include category and titling information (called a “semantic” URL) are good for SEO, because they provide Search Engines with information about the content.

  • Semantic URLs are implementation agnostic, meaning that the structure isn’t dependent on the web application or CMS. This makes it easier in the future to change the underlying technology as needed without breaking the URLs.

  • Because they are agnostic, pretty URLs identify a resource, not a way to get to it, which means that the underlying content can be edited, moved, changed, updated, or replaced without breaking the link between the identifier and the underlying resource.

How does mod_rewrite work?

Mod_rewrite is an Apache module that works at the level of the Apache web server. It handles incoming HTTP requests, and rewrites them according rules set up by the system’s administrators (either directly or programatically).

For example, the public URL of a blog post might be:

example.com/tech-topics/url-rewrites-and-philosophy

There might then be a rule (written in special code and regular expressions) which takes the first portion, matching it to a category, and the second portion and matching it to a post slug:

example.com/blog/index.php?category=tech-topics&post_slug=url-rewrites-and-philosophy

From there, the index.php file takes over and pulls content out of the database based on the query strings.

How does mod_rewrite get used?

It is possible for a system administrator to manually write request rewrite rules for a webserver. But this is somewhat rare.

More typically, a Content Management System (or similar framework) will include code that automatically inserts rewrite rules into the relevant configuration files based on settings. If you’ve ever used WordPress — this is what happens when you select your Permalink structure in the Admin -> Settings menu.

mod_rewrite and web hosting

Not all dynamic web applications require mod_rewrite in order to achieve pretty URLs. For example, Ruby on Rails uses its own internal routing mechanism, so clean URLs are sent directly to the application as they come in.

However, many web applications and content management systems require it. This is especially true of most PHP-based CMSes like WordPress and Drupal.

It is a very common feature of Apache web servers, but don’t take it for granted. If you’re going to need it, make sure you select a hosting provider that supports Apache mod_rewrite, and allows your installed apps to write new rewrite rules.

WhoIsHostingThis Recommends

★★★★
Support
★★★★
Features
★★★★
Uptime
★★★★
Value
★★★★

Pros: Free domain name , Unlimited traffic, emails, DBs

Cons: No Windows-based plans

SiteGround is an established web host managing well over 1,000 servers and... Read more

Visit host

2. iPage

ipage logo
★★★★
Support
★★★★
Features
★★★★
Uptime
★★★★
Value
★★★★

Pros: Unlimited Disk Space, Bandwidth & Email , Unlimited MySQL Databases

Based in the US, iPage specialises in low-cost shared hosting. Each plan... Read more

Visit host
★★★
Support
★★★
Features
★★★★
Uptime
★★★
Value
★★★

Pros: Free Domain , Unlimited Bandwidth

Bluehost provides customers with low-cost shared hosting, as well as reseller, VPS... Read more

Visit host

Updating...