Warning (2): count(): Parameter must be an array or an object that implements Countable [CORE/Cake/Routing/Route/CakeRoute.php, line 254]Code Context// restructure 'pass' key route paramsif (isset($this->options['pass'])) {$j = count($this->options['pass']);$url = '/restoration' $route = array( 'named' => array(), 'pass' => array(), 'controller' => 'Pages', 'action' => 'display', 'plugin' => null ) $val = null $key = 'plugin' $count = (int) 0 $i = (int) 1 $value = nullCakeRoute::parse() - CORE/Cake/Routing/Route/CakeRoute.php, line 254 Router::parse() - CORE/Cake/Routing/Router.php, line 613 Dispatcher::parseParams() - CORE/Cake/Routing/Dispatcher.php, line 219 CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 244 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 147 [main] - APP/webroot/index.php, line 108
Warning (2): Cannot modify header information - headers already sent by (output started at /home/whitelabelledsol/public_html/shrugs/lib/Cake/Utility/Debugger.php:797) [APP/Controller/Component/RequestManageComponent.php, line 162]Code Context// the following line prevents the browser from parsing this as HTML.header('Content-Type: text/plain');$controller = object(PagesController) { uses => array( (int) 0 => 'StaticPage', (int) 1 => 'StaticPageDescription', (int) 2 => 'Testimonial', (int) 3 => 'Banner', (int) 4 => 'Product', (int) 5 => 'ProductImage', (int) 6 => 'Category', (int) 7 => 'Rugpile', (int) 8 => 'Color', (int) 9 => 'Subscriber', (int) 10 => 'Country', (int) 11 => 'EmailTemplate', (int) 12 => 'User', (int) 13 => 'Domain', (int) 14 => 'Dimension', (int) 15 => 'Sptconfig', (int) 16 => 'Order', (int) 17 => 'OrderProduct', (int) 18 => 'Ipblock', (int) 19 => 'Recentsoldconfig' ) helpers => array( 'Html' => null, 'Form' => null, 'Session' => null, 'PaypalIpn.Paypal' => null ) components => array( 'Session' => null, 'Cookie' => null, 'Email' => null, 'RequestManage' => null ) name => 'Pages' request => object(CakeRequest) {} response => object(CakeResponse) {} viewPath => 'Pages' layoutPath => null viewVars => array( 'title_for_layout' => 'Restoration', 'static_page_data' => array( [maximum depth reached] ), 'ExtradimensionsAll' => array( [maximum depth reached] ), 'Extradimensions' => array( [maximum depth reached] ), 'lastRunnerId' => '20', 'category' => array( [maximum depth reached] ), 'dimensionsAll' => array( [maximum depth reached] ), 'dimensionsleft' => array( [maximum depth reached] ), 'dimensions' => array( [maximum depth reached] ), 'colorsAll' => array( [maximum depth reached] ), 'colors' => array( [maximum depth reached] ), 'metaDescription' => 'We are located minutes from New York City. We have over 10,000 high quality carpets, including transitional, traditional and modern styles. Make an appointment today to visit our rug showroom, or call us at: 201-933-4300. ', 'metaKeywords' => 'Fine Oriental Rugs, Hand Knotted Rugs, High Quality Rugs Online, Persian Rugs, Modern Rugs, Antique Rugs, Best Rugs, Carpet, Persian Carpet, Hand knotted Carpet, Antique Carpet, Kazak Rugs, Ikat Rugs.', 'specialDimensionsAll' => array( [maximum depth reached] ), 'specialDimensions' => array( [maximum depth reached] ) ) view => 'display' layout => 'innerlayout' autoRender => false autoLayout => true Components => object(ComponentCollection) {} viewClass => 'View' View => object(View) {} ext => '.ctp' plugin => null cacheAction => false passedArgs => array() scaffold => false methods => array( (int) 0 => 'display', (int) 1 => 'home', (int) 2 => 'showspress', (int) 3 => 'blocked', (int) 4 => 'upcoming', (int) 5 => 'tradeshows', (int) 7 => '__checkAuth', (int) 8 => '__setDefaults', (int) 9 => 'afterPaypalNotification', (int) 10 => 'checkRandomCookie', (int) 11 => 'available_sizes', (int) 12 => 'download_remote_file_with_curl', (int) 13 => 'ip_in_range' ) modelClass => 'StaticPage' modelKey => 'page' validationErrors => null Session => object(SessionComponent) {} Cookie => object(CookieComponent) {} Email => object(EmailComponent) {} RequestManage => object(RequestManageComponent) {} Ipblock => object(Ipblock) {} Domain => object(Domain) {} Dimension => object(Dimension) {} Sptconfig => object(AppModel) {} Recentsoldconfig => object(AppModel) {} Color => object(Color) {} Category => object(Category) {} StaticPage => object(StaticPage) {} [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) {} } $prefix = '' $sptmodel = object(AppModel) { useDbConfig => 'default' useTable => 'sptconfigs' id => false data => array() schemaName => 'whitelabelledsol_1800rug' table => 'sptconfigs' primaryKey => 'id' validate => array() validationErrors => array() validationDomain => null tablePrefix => '' plugin => null name => 'Sptconfig' alias => 'Sptconfig' tableToModel => array( 'sptconfigs' => 'Sptconfig' ) cacheQueries => false belongsTo => array() hasOne => array() hasMany => array() hasAndBelongsToMany => array() actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array() cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array() __backAssociation => array() __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) [protected] _schema => array( 'id' => array( [maximum depth reached] ), 'title' => array( [maximum depth reached] ), 'value' => array( [maximum depth reached] ), 'slug' => array( [maximum depth reached] ), 'type' => array( [maximum depth reached] ) ) [protected] _associationKeys => array( 'belongsTo' => array( [maximum depth reached] ), 'hasOne' => array( [maximum depth reached] ), 'hasMany' => array( [maximum depth reached] ), 'hasAndBelongsToMany' => array( [maximum depth reached] ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } $ip = '216.73.216.142' $whiteIP = array( 'Sptconfig' => array( 'id' => '2', 'title' => 'Whitelist IP', 'value' => '2405:201:5c06:c80a:8996:f1df:1d14:f6d2,2405:201:5c06:c80a:d8e8:8429:787d:3625,182.156.214.61,27.58.69.196,106.219.68.60,182.64.185.73,43.224.1.176,39.45.145.133,150.107.25.57,157.38.79.160,182.69.100.31,150.242.63.27,150.129.181.35,122.177.223.113,223.177.9.224,122.160.135.141,103.59.75.143,110.235.219.46,103.59.75.76,49.36.233.245,183.83.152.20,103.59.75.167,2401:4900:889b:37f6:2991:515d:efd9:dfe3,103.59.75.25,223.226.132.146,106.201.25.253,2405:201:5c06:c80a:e59b:78a3:41e7:8542,2001:4860:7:805::67', 'slug' => 'WhitelistIP', 'type' => 'textarea' ) ) $whitelisted_numbers = '2405:201:5c06:c80a:8996:f1df:1d14:f6d2,2405:201:5c06:c80a:d8e8:8429:787d:3625,182.156.214.61,27.58.69.196,106.219.68.60,182.64.185.73,43.224.1.176,39.45.145.133,150.107.25.57,157.38.79.160,182.69.100.31,150.242.63.27,150.129.181.35,122.177.223.113,223.177.9.224,122.160.135.141,103.59.75.143,110.235.219.46,103.59.75.76,49.36.233.245,183.83.152.20,103.59.75.167,2401:4900:889b:37f6:2991:515d:efd9:dfe3,103.59.75.25,223.226.132.146,106.201.25.253,2405:201:5c06:c80a:e59b:78a3:41e7:8542,2001:4860:7:805::67' $whitelisted_ip = array( (int) 0 => '2405:201:5c06:c80a:8996:f1df:1d14:f6d2', (int) 1 => '2405:201:5c06:c80a:d8e8:8429:787d:3625', (int) 2 => '182.156.214.61', (int) 3 => '27.58.69.196', (int) 4 => '106.219.68.60', (int) 5 => '182.64.185.73', (int) 6 => '43.224.1.176', (int) 7 => '39.45.145.133', (int) 8 => '150.107.25.57', (int) 9 => '157.38.79.160', (int) 10 => '182.69.100.31', (int) 11 => '150.242.63.27', (int) 12 => '150.129.181.35', (int) 13 => '122.177.223.113', (int) 14 => '223.177.9.224', (int) 15 => '122.160.135.141', (int) 16 => '103.59.75.143', (int) 17 => '110.235.219.46', (int) 18 => '103.59.75.76', (int) 19 => '49.36.233.245', (int) 20 => '183.83.152.20', (int) 21 => '103.59.75.167', (int) 22 => '2401:4900:889b:37f6:2991:515d:efd9:dfe3', (int) 23 => '103.59.75.25', (int) 24 => '223.226.132.146', (int) 25 => '106.201.25.253', (int) 26 => '2405:201:5c06:c80a:e59b:78a3:41e7:8542', (int) 27 => '2001:4860:7:805::67' ) $model = object(Ipblock4) { actsAs => array( (int) 0 => 'Containable' ) useTable => 'ipblock4' useDbConfig => 'default' id => false data => array() schemaName => 'whitelabelledsol_1800rug' table => 'ipblock4' primaryKey => 'id' validate => array() validationErrors => array() validationDomain => null tablePrefix => '' plugin => null name => 'Ipblock4' alias => 'Ipblock4' tableToModel => array( 'ipblock4' => 'Ipblock4' ) cacheQueries => false belongsTo => array() hasOne => array() hasMany => array() hasAndBelongsToMany => array() Behaviors => object(BehaviorCollection) {} whitelist => array() cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array() __backAssociation => array() __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) [protected] _schema => array( 'ipfrom' => array( [maximum depth reached] ), 'ipto' => array( [maximum depth reached] ), 'countrycode' => array( [maximum depth reached] ) ) [protected] _associationKeys => array( 'belongsTo' => array( [maximum depth reached] ), 'hasOne' => array( [maximum depth reached] ), 'hasMany' => array( [maximum depth reached] ), 'hasAndBelongsToMany' => array( [maximum depth reached] ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } $code = (int) 3628718222 $ranges = array() $country = 'unkown' $numbers = array( (int) 0 => '216', (int) 1 => '73', (int) 2 => '216', (int) 3 => '142' ) $date = '2026-04-18' $file = 'sitehit_2026-04-18.log' $filePath = '/home/whitelabelledsol/public_html/shrugs/app/tmp/logs/sitehit_2026-04-18.log' $searchfor = '216.73.216.142'header - [internal], line ?? RequestManageComponent::shutdown() - APP/Controller/Component/RequestManageComponent.php, line 162 ObjectCollection::trigger() - CORE/Cake/Utility/ObjectCollection.php, line 129 CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 244 Controller::shutdownProcess() - CORE/Cake/Controller/Controller.php, line 697 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 204 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 [main] - APP/webroot/index.php, line 108
Warning (2): file_get_contents(/home/whitelabelledsol/public_html/shrugs/app/tmp/logs/sitehit_2026-04-18.log) [<a href='http://php.net/function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory [APP/Controller/Component/RequestManageComponent.php, line 165]Code Context// get the file contents, assuming the file to be readable (and exist)$contents = file_get_contents($filePath);$controller = object(PagesController) { uses => array( (int) 0 => 'StaticPage', (int) 1 => 'StaticPageDescription', (int) 2 => 'Testimonial', (int) 3 => 'Banner', (int) 4 => 'Product', (int) 5 => 'ProductImage', (int) 6 => 'Category', (int) 7 => 'Rugpile', (int) 8 => 'Color', (int) 9 => 'Subscriber', (int) 10 => 'Country', (int) 11 => 'EmailTemplate', (int) 12 => 'User', (int) 13 => 'Domain', (int) 14 => 'Dimension', (int) 15 => 'Sptconfig', (int) 16 => 'Order', (int) 17 => 'OrderProduct', (int) 18 => 'Ipblock', (int) 19 => 'Recentsoldconfig' ) helpers => array( 'Html' => null, 'Form' => null, 'Session' => null, 'PaypalIpn.Paypal' => null ) components => array( 'Session' => null, 'Cookie' => null, 'Email' => null, 'RequestManage' => null ) name => 'Pages' request => object(CakeRequest) {} response => object(CakeResponse) {} viewPath => 'Pages' layoutPath => null viewVars => array( 'title_for_layout' => 'Restoration', 'static_page_data' => array( [maximum depth reached] ), 'ExtradimensionsAll' => array( [maximum depth reached] ), 'Extradimensions' => array( [maximum depth reached] ), 'lastRunnerId' => '20', 'category' => array( [maximum depth reached] ), 'dimensionsAll' => array( [maximum depth reached] ), 'dimensionsleft' => array( [maximum depth reached] ), 'dimensions' => array( [maximum depth reached] ), 'colorsAll' => array( [maximum depth reached] ), 'colors' => array( [maximum depth reached] ), 'metaDescription' => 'We are located minutes from New York City. We have over 10,000 high quality carpets, including transitional, traditional and modern styles. Make an appointment today to visit our rug showroom, or call us at: 201-933-4300. ', 'metaKeywords' => 'Fine Oriental Rugs, Hand Knotted Rugs, High Quality Rugs Online, Persian Rugs, Modern Rugs, Antique Rugs, Best Rugs, Carpet, Persian Carpet, Hand knotted Carpet, Antique Carpet, Kazak Rugs, Ikat Rugs.', 'specialDimensionsAll' => array( [maximum depth reached] ), 'specialDimensions' => array( [maximum depth reached] ) ) view => 'display' layout => 'innerlayout' autoRender => false autoLayout => true Components => object(ComponentCollection) {} viewClass => 'View' View => object(View) {} ext => '.ctp' plugin => null cacheAction => false passedArgs => array() scaffold => false methods => array( (int) 0 => 'display', (int) 1 => 'home', (int) 2 => 'showspress', (int) 3 => 'blocked', (int) 4 => 'upcoming', (int) 5 => 'tradeshows', (int) 7 => '__checkAuth', (int) 8 => '__setDefaults', (int) 9 => 'afterPaypalNotification', (int) 10 => 'checkRandomCookie', (int) 11 => 'available_sizes', (int) 12 => 'download_remote_file_with_curl', (int) 13 => 'ip_in_range' ) modelClass => 'StaticPage' modelKey => 'page' validationErrors => null Session => object(SessionComponent) {} Cookie => object(CookieComponent) {} Email => object(EmailComponent) {} RequestManage => object(RequestManageComponent) {} Ipblock => object(Ipblock) {} Domain => object(Domain) {} Dimension => object(Dimension) {} Sptconfig => object(AppModel) {} Recentsoldconfig => object(AppModel) {} Color => object(Color) {} Category => object(Category) {} StaticPage => object(StaticPage) {} [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) {} } $prefix = '' $sptmodel = object(AppModel) { useDbConfig => 'default' useTable => 'sptconfigs' id => false data => array() schemaName => 'whitelabelledsol_1800rug' table => 'sptconfigs' primaryKey => 'id' validate => array() validationErrors => array() validationDomain => null tablePrefix => '' plugin => null name => 'Sptconfig' alias => 'Sptconfig' tableToModel => array( 'sptconfigs' => 'Sptconfig' ) cacheQueries => false belongsTo => array() hasOne => array() hasMany => array() hasAndBelongsToMany => array() actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array() cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array() __backAssociation => array() __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) [protected] _schema => array( 'id' => array( [maximum depth reached] ), 'title' => array( [maximum depth reached] ), 'value' => array( [maximum depth reached] ), 'slug' => array( [maximum depth reached] ), 'type' => array( [maximum depth reached] ) ) [protected] _associationKeys => array( 'belongsTo' => array( [maximum depth reached] ), 'hasOne' => array( [maximum depth reached] ), 'hasMany' => array( [maximum depth reached] ), 'hasAndBelongsToMany' => array( [maximum depth reached] ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } $ip = '216.73.216.142' $whiteIP = array( 'Sptconfig' => array( 'id' => '2', 'title' => 'Whitelist IP', 'value' => '2405:201:5c06:c80a:8996:f1df:1d14:f6d2,2405:201:5c06:c80a:d8e8:8429:787d:3625,182.156.214.61,27.58.69.196,106.219.68.60,182.64.185.73,43.224.1.176,39.45.145.133,150.107.25.57,157.38.79.160,182.69.100.31,150.242.63.27,150.129.181.35,122.177.223.113,223.177.9.224,122.160.135.141,103.59.75.143,110.235.219.46,103.59.75.76,49.36.233.245,183.83.152.20,103.59.75.167,2401:4900:889b:37f6:2991:515d:efd9:dfe3,103.59.75.25,223.226.132.146,106.201.25.253,2405:201:5c06:c80a:e59b:78a3:41e7:8542,2001:4860:7:805::67', 'slug' => 'WhitelistIP', 'type' => 'textarea' ) ) $whitelisted_numbers = '2405:201:5c06:c80a:8996:f1df:1d14:f6d2,2405:201:5c06:c80a:d8e8:8429:787d:3625,182.156.214.61,27.58.69.196,106.219.68.60,182.64.185.73,43.224.1.176,39.45.145.133,150.107.25.57,157.38.79.160,182.69.100.31,150.242.63.27,150.129.181.35,122.177.223.113,223.177.9.224,122.160.135.141,103.59.75.143,110.235.219.46,103.59.75.76,49.36.233.245,183.83.152.20,103.59.75.167,2401:4900:889b:37f6:2991:515d:efd9:dfe3,103.59.75.25,223.226.132.146,106.201.25.253,2405:201:5c06:c80a:e59b:78a3:41e7:8542,2001:4860:7:805::67' $whitelisted_ip = array( (int) 0 => '2405:201:5c06:c80a:8996:f1df:1d14:f6d2', (int) 1 => '2405:201:5c06:c80a:d8e8:8429:787d:3625', (int) 2 => '182.156.214.61', (int) 3 => '27.58.69.196', (int) 4 => '106.219.68.60', (int) 5 => '182.64.185.73', (int) 6 => '43.224.1.176', (int) 7 => '39.45.145.133', (int) 8 => '150.107.25.57', (int) 9 => '157.38.79.160', (int) 10 => '182.69.100.31', (int) 11 => '150.242.63.27', (int) 12 => '150.129.181.35', (int) 13 => '122.177.223.113', (int) 14 => '223.177.9.224', (int) 15 => '122.160.135.141', (int) 16 => '103.59.75.143', (int) 17 => '110.235.219.46', (int) 18 => '103.59.75.76', (int) 19 => '49.36.233.245', (int) 20 => '183.83.152.20', (int) 21 => '103.59.75.167', (int) 22 => '2401:4900:889b:37f6:2991:515d:efd9:dfe3', (int) 23 => '103.59.75.25', (int) 24 => '223.226.132.146', (int) 25 => '106.201.25.253', (int) 26 => '2405:201:5c06:c80a:e59b:78a3:41e7:8542', (int) 27 => '2001:4860:7:805::67' ) $model = object(Ipblock4) { actsAs => array( (int) 0 => 'Containable' ) useTable => 'ipblock4' useDbConfig => 'default' id => false data => array() schemaName => 'whitelabelledsol_1800rug' table => 'ipblock4' primaryKey => 'id' validate => array() validationErrors => array() validationDomain => null tablePrefix => '' plugin => null name => 'Ipblock4' alias => 'Ipblock4' tableToModel => array( 'ipblock4' => 'Ipblock4' ) cacheQueries => false belongsTo => array() hasOne => array() hasMany => array() hasAndBelongsToMany => array() Behaviors => object(BehaviorCollection) {} whitelist => array() cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array() __backAssociation => array() __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) [protected] _schema => array( 'ipfrom' => array( [maximum depth reached] ), 'ipto' => array( [maximum depth reached] ), 'countrycode' => array( [maximum depth reached] ) ) [protected] _associationKeys => array( 'belongsTo' => array( [maximum depth reached] ), 'hasOne' => array( [maximum depth reached] ), 'hasMany' => array( [maximum depth reached] ), 'hasAndBelongsToMany' => array( [maximum depth reached] ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } $code = (int) 3628718222 $ranges = array() $country = 'unkown' $numbers = array( (int) 0 => '216', (int) 1 => '73', (int) 2 => '216', (int) 3 => '142' ) $date = '2026-04-18' $file = 'sitehit_2026-04-18.log' $filePath = '/home/whitelabelledsol/public_html/shrugs/app/tmp/logs/sitehit_2026-04-18.log' $searchfor = '216.73.216.142'file_get_contents - [internal], line ?? RequestManageComponent::shutdown() - APP/Controller/Component/RequestManageComponent.php, line 165 ObjectCollection::trigger() - CORE/Cake/Utility/ObjectCollection.php, line 129 CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 244 Controller::shutdownProcess() - CORE/Cake/Controller/Controller.php, line 697 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 204 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 [main] - APP/webroot/index.php, line 108

Oriental rugs being a textile composed out of hundreds and thousands of yarn threads need maintenance and care. Cleaning a rug professionally every few years is an essential part of it. Keeping the dust specs entering inside the knots keeps the life of it and the wear and tear. As when heavy traffic applies pressure on the knots the dust specs will grind it out and as such the knots will break and areas in the pile dissipate. Furthermore a good rug pad is important in absorbing the foot traffic weight pressure, preventing the friction between the floors and the rug which will substantially extend the rug's life expectancy . At S&H rugs antique rugs are our passion. Our master repairman Nasser Bageri, originally from Tabriz in Iran is an experienced weaver and curator of fine persian and caucasian rugs. The exact wool or silk colour shade is matched and redyed as well as the exact knot type will be duplicated as the original, repiling the worn and bare areas to an undetectable result. We also specialized in: 1. Sizing down a rug being too large, hand surging the sides and edges matching the original color shades 2. Colour restoration. Some stains are too tough to be taken out with regular washing. The original dyes will be stripped out and then the original ,colour dyed back into the yarn to an undetectable result
Oriental rugs being a textile composed out of hundreds and thousands of yarn threads need maintenance and care. Cleaning a rug professionally every few years is an essential part of it. Keeping the dust specs entering inside the knots keeps the life of it and the wear and tear. As when heavy traffic applies pressure on the knots the dust specs will grind it out and as such the knots will break and areas in the pile dissipate. Furthermore a good rug pad is important in absorbing the foot traffic weight pressure, preventing the friction between the floors and the rug which will substantially extend the rug's life expectancy . At S&H rugs antique rugs are our passion. Our master repairman Nasser Bageri, originally from Tabriz in Iran is an experienced weaver and curator of fine persian and caucasian rugs. The exact wool or silk colour shade is matched and redyed as well as the exact knot type will be duplicated as the original, repiling the worn and bare areas to an undetectable result. We also specialized in: 1. Sizing down a rug being too large, hand surging the sides and edges matching the original color shades 2. Colour restoration. Some stains are too tough to be taken out with regular washing. The original dyes will be stripped out and then the original ,colour dyed back into the yarn to an undetectable result
TEL: 201-933-4300
FAX: 201-933-4339
Email: info@shrugs.com
We are open Monday through Saturday from 8:30am-5:00pm. An appointment is recommended.
S&H Rugs
40 Universal Place, Carlstadt, NJ 07072
We have kept customer satisfaction as its number one priority. We specialize in one-of-a-kind precious hand knotted and hand woven Oriental rugs, imported from Persia, Pakistan, China and India. We cater to the dealer and interior design industry as well as various auction houses and department stores.
Copyright © 1990-2025 S&H Rugs, Inc. All rights reserved.