【问题标题】:RewriteRules not matching on cPanel (Apache) servercPanel (Apache) 服务器上的 RewriteRules 不匹配
【发布时间】:2014-12-12 03:36:01
【问题描述】:

我在 Magento 中使用下面的 .htaccess 文件,但 URL 不匹配,我看不出我做错了什么。

我输入的 URL 是 http://domain.com/product/66_fit_foam_roller_15_x_90cm/,我正试图让它重定向到 http://domain.com/66-fit-foam-roller-blue-15-x-90cm.html

传入的 url 是否有 www 无关紧要。我在http://htaccess.madewithlove.be/ 上测试了规则,它输出了预期的 URL,但在实时站点上它不起作用(无重定向)

为便于阅读而截取

####################################################################
################## 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>

【问题讨论】:

  • RewriteRule ^product.... 行移动到RewriteEngine On 行下方的.htaccess 顶部。
  • 没有区别

标签: apache .htaccess magento mod-rewrite


【解决方案1】:

您的 htaccess 规则可能与 Magento 自己的内置 URL 重写管理系统冲突。如果可能,我强烈建议使用 URL 重写管理。

也许您首先必须从目录 > URL 重写管理中删除旧的、不需要的重定向并搜索匹配的路径。

接下来,您可以“Add URL Rewrite”并选择“For Product”(或自定义)并填写表格。

【讨论】:

    猜你喜欢
    • 2019-12-07
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2021-06-14
    • 2015-11-03
    • 2011-07-04
    相关资源
    最近更新 更多