Questions tagged [mod-rewrite]

mod_rewrite is a URL rewriting module for the Apache web server. It is commonly used for so-called "pretty" URLs because of its ability to redirect on the server side (transparent to clients and their browsers), but also provides the power and flexibility to perform various request handling tasks beyond simple substitutions.

Filter by
Sorted by
Tagged with
24 votes
2 answers
23k views

htaccess execution order and priority

Can anyone explain to me in what order apache executes .htaccess files residing in different levels of the same path and how the rewrite rules therein are prioritized? For example, why doesn't the ...
ChrisR's user avatar
  • 343
18 votes
1 answer
76k views

How to pass GET parameters to rewritten URL?

I have an .htaccess rewrite rule like this: RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^search/(.*)$ search.php?q=$1 What this does is, if someone visits http:/...
Jake Wilson's user avatar
14 votes
6 answers
9k views

Forcing SSL and www in .htaccess

I'm looking for a way to force SSL and www. I've been able to force both separately but together I keep running into redirection issues. The following code works when handling a URL in this format: ...
Stephen's user avatar
  • 243
11 votes
3 answers
29k views

htaccess redirect non-www to www with SSL/HTTPS

I want a rewrite rule that redirects everything to https:// AND www. For example http://example.com should be going to https://www.example.com This is what I have: RewriteEngine On RewriteCond %{...
Will's user avatar
  • 331
11 votes
3 answers
8k views

When is the leading slash (/) needed in mod_rewrite patterns?

Here is an example from the Apache documentation for enforcing canonical hostnames: RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/?(.*) http://www....
123's user avatar
  • 147
9 votes
1 answer
12k views

.htaccess syntax multiple RewriteEngine on

I'm learning to maintain my own WP site. After a lot of reading I ended up with my "complete" htaccess file that looks something like this DirectoryIndex index.php # Disable directory listings ...
IXN's user avatar
  • 322
9 votes
1 answer
17k views

.htaccess rewrite URL leads to missing CSS

I am trying to make my url from this: example.com/view.php?id=15 To this: example.com/watch/15 My code in .htaccess is as follows: Options -Indexes Options +FollowSymlinks RewriteEngine On ...
StuckBetweenTrees's user avatar
9 votes
2 answers
3k views

Is Checking For mod_write Really Necessary?

Recently I noticed that many people post .htaccess files here with: <IfModule mod_rewrite.c> Sometimes this even appears several times in the file! It obviously checks to see if mod_write is ...
Itai's user avatar
  • 6,007
9 votes
2 answers
7k views

AH10411: Rewritten query string contains control characters or spaces

How to reproduce the error: -- A space in my URL will trigger the error. Observation of the error: -- It seems to happen suddenly since around 3/10. ---- I did not upgrade my Apache version, but it ...
Chi's user avatar
  • 91
9 votes
2 answers
3k views

HSTS Preload section on .htaccess

Recently having moved a site to SSL, I looked into enforcing HSTS for eventual preload. The syntax is approved and the Chrome List allows it to be OK. However, not being a coder at all, a slight ...
Claverhouse's user avatar
9 votes
2 answers
7k views

.htaccess redirect url without trailing slashes

In my htaccess I have some rewrited urls like these: RewriteRule ^first-page$ /subdir/page.php?id_page=1 [QSA,L] RewriteRule ^second-page$ /subdir/page.php?id_page=2 [QSA,L] RewriteRule ^third-page$ /...
user avatar
8 votes
3 answers
41k views

How to redirect / convert any URL to lowercase?

I am using: <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com [NC] RewriteRule (.*) http://example.com/$1 [L,R=301] </...
pelajar's user avatar
  • 83
8 votes
1 answer
3k views

RewriteRule started returning 403 Forbidden error

I have a website that uses a set of quite simple RewriteRules of the format: RewriteRule ^p/(.*)$ /product.php?$1 [L] All was working well and still is working perfectly fine on localhost. For some ...
Jimbo Vader's user avatar
8 votes
1 answer
11k views

Rewrite up to three folders into three query string parameters to a PHP script

I'd like to use mod_rewrite within the .htaccess file to rewrite folders to a var string. Below is examples of current and what I would prefer. Current URL: example.com/main/folder1/folder2/folder3 ...
exarhis's user avatar
  • 103
8 votes
3 answers
49k views

How to remove trailing slashes from URL with .htaccess?

The situation Across the entire domain, we'd like the URLs to hide file extensions and remove trailing slashes, independent of the domain name itself (as in, works on any domain). Sample of our ...
Matt's user avatar
  • 604
8 votes
6 answers
2k views

Poor Man's Clean URLs vs. Mod_Rewrite

At the company where I work, we're getting ready to design a new web site, and there's some disagreement about how to do clean URLs. Over the past year we've been making small improvements to our ...
Scott's user avatar
  • 227
7 votes
2 answers
22k views

how to rewrite %20 in .htaccess

I need to perform an equivalent rewrite to: RewriteRule ^/this%20file.pdf http://www.example.com/ How do I handle the %20? I have tried RewriteRule ^/this\%20file.pdf http://www.example.com/ and ...
Steve's user avatar
  • 1,456
7 votes
4 answers
16k views

How to Remove Extensions From, and Force the Trailing Slash at the End of URLs?

Example of current file structure: example.com/foo.php example.com/bar.html example.com/directory/ example.com/directory/foo.php example.com/directory/bar.html example.com/cgi-bin/directory/...
user avatar
7 votes
2 answers
1k views

In .htaccess files, is there any difference at all between “!=on” and “off”

I’m trying to better understand Apache’s use of a binary attribute. In an .htaccess file with the code # Check if HTTPS is 𝗻𝗼𝘁 𝗼𝗻 RewriteCond %{HTTPS} !=on Is there more processing occurring&#...
Lucas's user avatar
  • 197
7 votes
1 answer
321 views

Apache rewrite rules for development workstation and server

I've got developers editing pages for several sites on a WAMP stack and then uploading to the public servers running LAMP stacks. We're pretty happy with it, but we have this minor annoyance: we can't ...
Don Kirkby's user avatar
6 votes
3 answers
16k views

Properly force SSL with .htaccess, no double authentication

I am trying to force SSL with .htaccess on a shared host. This means there I only have access to .htaccess and not the main VirtualHost configuration. I know you can put a rule in the VirtualHost ...
cwd's user avatar
  • 175
6 votes
1 answer
27k views

Apache .htaccess mod_rewrite: use of [NC]

I see tons of .htaccess examples containing the [NC] flag (NoCase = case-insensitive) For example the famous h5bp page uses the [NC] flag a lot: https://github.com/h5bp/server-configs-apache/blob/...
Gregory MOUSSAT's user avatar
6 votes
2 answers
6k views

What is `wp-cli.yml` for in the public_html folder?

I recently signed up a hosting package, and installed WordPress from the control panel. I noticed there is wp-cli.yml in the web root folder. The file contains: apache_modules: - mod_rewrite Can ...
Stickers's user avatar
  • 267
6 votes
2 answers
1k views

Redirect non-www to www : .htaccess without giving the domain name

To redirect non-www to www we often see this in .htaccess: RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteRule ^(.*) http://www.example.com/%{REQUEST_URI} [R=301,...
Gregory MOUSSAT's user avatar
6 votes
1 answer
19k views

500 internal server error when trying to implement reverse proxy under Apache. How do I forward the requests to another server without errors?

I want to forward a request from one server to another. Here is my problem: hr.example.com - port 80 - Server A support.example.com - port 80 - Server B All requests on port 80 are forwarded to ...
wouter205's user avatar
  • 337
6 votes
2 answers
11k views

Have Apache show 404 at missing page URL instead of redirecting to error page URL

Assuming non-existent-page.html does not exist, and the user is trying to access that page and triggered a 404 error. Can i show the requested page URL: http://www.example.com/non-existent-page.html ...
Explisam's user avatar
  • 163
6 votes
1 answer
15k views

.htaccess Direct all requests to Public dir when using framework etc

I using this .htaccess code to direct all requests to Public directory: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule> ...
DariusJu's user avatar
  • 106
6 votes
2 answers
4k views

Redirect/rewrite dynamic URL to sub-domain and create DNS for subdomain

I have created an application in PHP, I would like to re-direct the following URL to corresponding sub-domain. Dynamic URL pattern: http://mydomain.com/mypage.php?user_name=testuser I wish to re-...
Abdul Majeed's user avatar
6 votes
1 answer
1k views

How to internally rewrite a page when requested from specific HTTP_HOST

I have a Drupal site, example.com, and our client has a campaign that they're promoting for which they've bought a new domain name, campaign.com. I'd like it so that a request for campaign.com ...
Andy's user avatar
  • 1,481
6 votes
1 answer
388 views

Htaccess Hotlinking Prevention: Exclude a specific image from rule

I have a working hotlinking prevention in the .htaccess. Everything works fine. However, I use an image of my website in email signature. After the hotlinking prevention, this image is now displayed ...
dajana.s's user avatar
  • 161
6 votes
1 answer
36k views

Enable 'mod_rewrite' Using .htaccess File On cPanel Shared Hosting Server

I'm using cPanel to host my website. I need to enable 'mod_rewrite' on this Shared Hosting cPanel account to run my script. I've tried to Google the solutions high and low but did not find any luck ...
Zulhilmi Zainudin's user avatar
6 votes
2 answers
12k views

Remove query string from 301 redirect URL

I'm having some trouble with redirects and I haven't been able to get this to work. I want to make the following http://www.example.com/seasonal/christmas?p=15 redirect to http://www.example.com/...
mrblo0m's user avatar
  • 61
6 votes
1 answer
2k views

Rewrite wildcard subdomains in .htaccess to corresponding folders on the main domain while preserving the subdomain

I'm trying to rewrite a subdomain to a folder/file like this: name.example.com -> example.com/profile/name foo.example.com -> example.com/profile/foo xyzzy.example.com -> example.com/profile/xyzzy ...
user87358's user avatar
5 votes
2 answers
616 views

What should I do to notify Google of a switch from ".php" to extension-free URL's?

I've implemented a simple mod-rewrite rule that internally rewrites urls without a file extension (that are not directories) to .php files and removed the .php extension from all our internal links. I'...
Michelle's user avatar
  • 153
5 votes
3 answers
8k views

Is there an alternative to .htaccess?

Is there an alternative to .htaccess, in case the webhoster disabled the use of .htaccess files? I can set some PHP variables and headers inside the PHP files but how can I perform actions like ...
Bob Ortiz's user avatar
  • 325
5 votes
2 answers
12k views

URL rewriting removing question mark and replace it with slash

How can I rewrite my URL from edit.php?id=2 to edit/id/2?
cloud 9's user avatar
  • 105
5 votes
2 answers
2k views

I am changing my file extensions in URLs, how to keep my good SEO results?

We have a website with good SEO results. For design reasons I have to update the design and I have to change file names from .html to .php. But I keep my domain name! What should I do in order to ...
Kos's user avatar
  • 51
5 votes
2 answers
1k views

HSTS implementation in .htaccess when using www subdomain

Been looking at implementing HSTS in to one of our sites, hoping to validate it on the preload list. But I can't get my head around how it works with the www. Subdomain. Our site forces secure www....
Randomer11's user avatar
5 votes
2 answers
2k views

.htaccess two different rules but only one per time

I'm rather new to the whole .htaccess thing and I'm using the following right now to use 'pretty url's': <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d ...
dragon112's user avatar
  • 153
5 votes
4 answers
5k views

How to write a generic .htaccess file rule, regarding RewriteBase

The following rule in my .htaccess works just fine for routing calls to index.php: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] However, this does not ...
eoinoc's user avatar
  • 203
5 votes
5 answers
2k views

Site compromised .htaccess files everywhere

Some of the sites we're hosting are compromised by... I don't know what. Every directory on the webserver contains a .htaccess file which redirects a user coming from a search engine to a page which ...
Steven K.'s user avatar
  • 151
5 votes
1 answer
2k views

Execution order of different htaccess redirects

It seems that no matter what I search I just can't understand why I keep getting this issue and I for some reason can't find a good explanation on how it works. Also sorry if this quest was asked ...
Controvi's user avatar
  • 153
5 votes
1 answer
1k views

Optimal way to implement very big redirect list in Apache2

I have about 6000 URLs that need to be redirected after changing the CMS. All those URLs are stored in a DB table together with an ID that allows me to tell what is being referenced. Using this table ...
Omar Kohl's user avatar
  • 250
5 votes
5 answers
26k views

"File does not exist" in apache error log

This is an example of an error in out log file: File does not exist: /var/www/website/female, referer: http://www.example.com/female/dresses/A-Dress-Black /female does not physically exist, because ...
user avatar
5 votes
1 answer
2k views

WordPress HTTP to HTTPS without trailing slash results in double redirect

I have noticed that one of my WordPress powered sites is experiencing double redirects when a user or bot attempts to visit a URL without HTTPS and a trailing slash. In short: http://example.com/...
Simon Hayter's user avatar
5 votes
1 answer
2k views

Redirect all URLs exactly except one URL that must be redirected to a different URL

I must to change domain from example.net to example.com. To redirect all URLs exactly (www and non-www) I use: RewriteEngine On RewriteCond %{HTTP_HOST} (w*)example\.net$ [NC] RewriteRule ^ https:/...
Marius's user avatar
  • 153
5 votes
1 answer
120 views

Wrong URL Requested But I know what they meant - 404 vs canonical vs 301 redirect

I'm using mod_rewrite to process variables in the URL. For many of my URLs the final portion of the string doesn't matter because I'm not using it. For instance: /review/company-25/jb-hunt I'm only ...
user2044510's user avatar
5 votes
1 answer
5k views

rewrite url - remove trailing / if any and add .php

I have a simple question, yet I've found no posts that answer my question. I need an htaccess file that rewrites the urls so that it removes the ending / if any, and adds .php no matter what the ...
Aaron Esau's user avatar
5 votes
1 answer
1k views

Redirect percent encoded URL in .htaccess

Suppose I have the following URL: http://example.com/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-rss-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B4%D8%AF/ How can I redirect this to http://www....
PersianGulf's user avatar
5 votes
2 answers
14k views

Redirect from URL with parameters to SEO friendly URL in .htaccess

I have category page with this structure example.com/Category.php?Category_Id=10&Category_Title=some-text i want to write htaccess rules to redirect from example.com/Category.php?Category_Id=...
Mohammadreza Esmaeeli's user avatar

1
2 3 4 5
13