htaccess modrewrite problem with rewriting url with- dashes solution

I was getting frustrated with trying to write a simple URL like this:

/example-withdash

I used the htaccess code like this:

Rewriterule ^example-withdash$ / [R=301]

I also tried escaping the dash which I thought should have treated it as a literal but that didn't work either:

Rewriterule ^example\-withdash$ / [R=301]

But it wouldn't work, apparently the "-" dash means don't substitute, so this means in plain Engilsh that my rule is not treated as intended or expected.

- (dash)
A dash indicates that no substitution should be performed (the existing path is passed through untouched). This is used when a flag (see below) needs to be applied without changing the path.
  http://httpd.apache.org/docs/current/mod/mod_rewrite.html

The Solution:

Put brackets around the rewrite rule ()

Rewriterule ^(example-withdash)$ / [R=301]

Now it works, it's very simple but quite frustrating when you don't know this.  I actually think Apache should have a debug mode or some switch to run an .htaccess file and verbosely output the interpretation of each rule.


Tags:

htaccess, modrewrite, rewriting, url, dashes, solutioni, frustrated, withdash, rewriterule, escaping, dash, literal, didn, wouldn, quot, substitute, engilsh, indicates, substitution, performed, existing, untouched, applied, http, httpd, apache, org, docs, mod, mod_rewrite, html, brackets, rewrite, frustrating, debug, mode, verbosely, output, interpretation,

Latest Articles

  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist
  • How to Install Any OS on a Physical Drive from Windows Using VMware Workstation (Linux, Windows, BSD)
  • CDN Cloudflare how to set and preserve the real IP of the client without modifying application code on Apache
  • CentOS 7 fix Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was 14: curl#6 -
  • Ubuntu Debian How To Install Recommended Packages Automatically
  • How to set Linux Ubuntu Redhat Debian Command Line http https socks proxy for yum apt
  • How to resize a pdf without losing much quality in Linux Mint Ubuntu Debian Redhat Solution
  • qemu: could not load PC BIOS 'bios-256k.bin' solution
  • Proxmox How To Custom Partition During Install
  • Hyper-V Linux VM Boots to Black Screen, Storage, NIC Not Found Issues
  • Ubuntu Mint How to Fix Missing/Broken /dev and /dev/pts which causes terminal to immediately close exit and not work
  • How high can a Xeon CPU get?
  • bash fix PATH environment variable "command not found" solution