Xopa
Xopa

Reputation: 131

RewriteRules not matching on cPanel (Apache) server

I'm using the below .htaccess file with Magento but a URL won't match and I can't see what I'm doing wrong.

The URL that I'm inputting is http://domain.com/product/66_fit_foam_roller_15_x_90cm/ and I'm trying to get that to redirect to http://domain.com/66-fit-foam-roller-blue-15-x-90cm.html

It shouldn't matter whether the incoming url has www or not. I tested the rules on http://htaccess.madewithlove.be/ and it outputs the expected URL but on the live site it doesn't work (No redirect)

Snipped for readability

####################################################################
################## Creare's Magento .htaccess File #################
####################################################################

##### Block unwanted Bots that clog the server #####

  RewriteCond %{HTTP_USER_AGENT} MJ12bot
  RewriteRule .* - [F]
  RewriteCond %{HTTP_USER_AGENT} 80legs [NC]
  RewriteRule ^ - [F]

##### Add support for SVG Graphics and CSS3 Pie #####

  AddType image/svg+xml svg svgz
  AddEncoding gzip svgz
  AddType text/x-component .htc
  DirectoryIndex index.php

##### Domain-specific PHP Settings #####

<IfModule mod_php5.c>
  php_value memory_limit 512M
  php_value max_execution_time 18000
  php_flag magic_quotes_gpc off
  php_flag session.auto_start off
  php_flag suhosin.session.cryptua off
  php_flag zend.ze1_compatibility_mode Off
</IfModule>

##### Necessary redirects and rewrites for search engines #####

<IfModule mod_rewrite.c>

</IfModule>


##### mod_deflate compresses your output to lower the file size being sent to the client #####

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  Header append Vary User-Agent env=!dont-vary
  php_flag zlib.output_compression on
</IfModule>

<Files *.php>
  SetOutputFilter DEFLATE
</Files>

<IfModule mod_ssl.c>
  SSLOptions StdEnvVars
</IfModule>


##### Header Directives #####

<ifModule mod_headers.c>
  Header unset ETag
  Header unset Last-Modified
</ifModule>


##### disable POST processing to not break multiple image upload #####

<IfModule mod_security.c>
  SecFilterEngine Off
  SecFilterScanPOST Off
</IfModule>


##### Enable apache served files compression #####

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  Header append Vary User-Agent env=!dont-vary
</IfModule>


##### Mod gzip and caching for improved site speed #####

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>


##### Default expires headers for all file types  #####
##### Not recommended for development environment #####

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>


##### Mime Type Caching #####

<IfModule mod_mime.c>

  ##### AUDIO #####
    AddType audio/mp4 m4a f4a f4b
    AddType audio/ogg oga ogg

    ##### JAVASCRIPT #####
    # Normalize to standard type (it's sniffed in IE anyways):
    # http://tools.ietf.org/html/rfc4329#section-7.2
    AddType application/javascript            js jsonp
    AddType application/json              json

    ##### VIDEO #####
    AddType video/mp4                                   mp4 m4v f4v f4p
    AddType video/ogg                                   ogv
    AddType video/webm                                  webm
    AddType video/x-flv                                 flv

    ##### WEB FONTS #####
    AddType application/font-woff                       woff
    AddType application/vnd.ms-fontobject               eot

    ##### Browsers usually ignore the font MIME types #####
    ##### and sniff the content, however, Chrome shows  #####
    ##### a warning if other MIME types are used for  #####
  ##### the following fonts.              #####
    AddType application/x-font-ttf                      ttc ttf
    AddType font/opentype                               otf


    ##### OTHER #####
    AddType application/octet-stream                    safariextz
    AddType application/x-chrome-extension              crx
    AddType application/x-opera-extension               oex
    AddType application/x-shockwave-flash               swf
    AddType application/x-web-app-manifest+json         webapp
    AddType application/x-xpinstall                     xpi
    AddType application/xml                             atom rdf rss xml
    AddType image/webp                                  webp
    AddType image/x-icon                                ico
    AddType text/cache-manifest                         appcache manifest
    AddType text/vtt                                    vtt
    AddType text/x-component                            htc
    AddType text/x-vcard                                vcf

</IfModule>

<IfModule mod_mime.c>
    AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml
</IfModule>


##### Disable ETags http://developer.yahoo.com/performance/rules.html#etags #####

  FileETag None


##### Prevent character encoding issues from server overrides #####

  AddDefaultCharset Off
  #AddDefaultCharset UTF-8


##### Force IE8 compatibility when using IE8+         #####
##### May cause issues within Windows Mobile Browsers #####

  BrowserMatch MSIE best-standards-support
  Header set X-UA-Compatible IE=8 env=best-standards-support


##### By default allow all access #####

  Order allow,deny
  Allow from all

<IfModule mod_rewrite.c>
# remove trailing slash
RewriteRule ^(.*)/$ /$1


RewriteRule ^product/66_fit_foam_roller_15_x_90cm$ /66-fit-foam-roller-blue-15-x-90cm.html [R=301] 


  ##### Redirect away from /index.php and /home
  ##### Warning: This index.php rewrite will prevent Magento
  ##### Connect from working. Simply comment out the
  ##### following two lines of code when using Connect.
  ##### Please note - http://www. if not using www simply use http://

  RewriteCond %{THE_REQUEST} ^.*/index.php
  RewriteRule ^(.*)index.php$ http://domain.com/$1 [R=301,L]

    ##### Please note - http://www. if not using www simply use http://
  redirect 301 /home http://domain.com

  Options +FollowSymLinks
  RewriteEngine on
  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule .* index.php [L]

</IfModule>

Upvotes: 0

Views: 268

Answers (1)

Jeff_Cro
Jeff_Cro

Reputation: 11

You're htaccess rule maybe conflicts with Magento's own built in URL Rewrite Management system. I highly recommend using that URL Rewrite Management if possible.

Maybe you first have to remove old, unwanted redirects from Catalog > URL Rewrite Management and search for the matching path.

Next, you can "Add URL Rewrite" and choose "For Product" (or custom) and fill in the form.

Upvotes: 1

Related Questions