Sadly my website host will not let me have more than one .htaccess and therefor I am forced to include all rules for path parent and child virtual/physical URLS. My directory tree is as follows:

  • index.html
    • css
    • img
    • amixermusic
      • index.php
      • escuchar.php
      • css
      • img
      • js

This is the code for my htaccess:

RewriteEngine On +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([0-9]+)/$ /$1? [R=301,L]
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

RewriteRule ^amixermusic/escuchar/(.+) /amixermusic/escuchar.php?id=$1
RewriteRule ^amixermusic/buscar/([^/]*)/?(.*) /amixermusic/index.php?q=$1&p=$2

RewriteCond %{QUERY_STRING} fb_action_ids=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]

RewriteCond %{QUERY_STRING} fb_comment_id=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]

Everything works fine except the lines are to remove fb_action_ids. I do not know what I should change. I forgot to mention that the like button is in "escuchar.php". This is generated automatically getting the URL of the window using PHP. So I think the statement should specify the directory, no?

  • Can you clarify what you're wanting to do, and what's not working?
    – dan
    Feb 6, 2014 at 1:00

1 Answer 1


I suspect that your rule isn't firing because it is at the end of your file. It comes after some of your other rules that are marked as "Last" rules with the [L] flag. Just moving the rule up to the top of the file should help.

You could also combine it into a single rule by making the condition into this:

RewriteCond %{QUERY_STRING} fb_(action|comment)_id

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.