How to Programmatically Add URL Rewrite in Magento 2
Magento 2 URL Rewrite programmatically is one of the awesome solutions for online retailers who want to create a huge number of the traffics of your website. The purpose of rewriting the url is allowing you generating 301 redirects into Magento 2 by the programmatical way.
The below steps will help you add URL Rewrite programmatically in Magento 2 with ease.
Before that, let’s learn about URL Redirect.
What is URL Redirect?
URL redirect is a popular term in SEO and it is used for navigating the visitors to any link store owners expect. There are two main type of redirect: 301 redirect and 302 redirect. Therefore, if you are wondering how to continue working with the existing visitor at the current site while you are planning to build a new site with more efficiencies, the best answer is creating the search redirection through the redirect 301.
2 Steps to add URL programmatically in Magento
Step 1 : Generate constructor file
/**
* @var \Magento\UrlRewrite\Model\UrlRewriteFactory
*/
protected $_urlRewriteFactory;
/**
* @param Context $context
* @param \Magento\UrlRewrite\Model\UrlRewriteFactory $urlRewriteFactory
*/
public function __construct(
Context $context,
\Magento\UrlRewrite\Model\UrlRewriteFactory $urlRewriteFactory
) {
$this->_urlRewriteFactory = $urlRewriteFactory;
parent::__construct(
$context
);
}
Step 2 : Insert custom URL rewrite in execute method
Only if your original website is example. com/customModule/customController/customAction
, you want to rewrite the URL by www.example. com/xyz
, instead. Then you can run the following method:
$urlRewriteModel = $this->_urlRewriteFactory->create()
/* set current store id */
$urlRewriteModel->setStoreId(1);
/* this url is not created by system so set as 0 */
$urlRewriteModel->setIsSystem(0);
/* unique identifier - set random unique value to id path */
$urlRewriteModel->setIdPath(rand(1, 100000));
/* set actual url path to target path field */
$urlRewriteModel->setTargetPath("www.example.com/customModule/customController/customAction");
/* set requested path which you want to create */
$urlRewriteModel->setRequestPath("www.example.com/xyz");
/* set current store id */
$urlRewriteModel->save();
Final words
I hope this tutorial helps you fix your issues regarding adding URL Rewrite programmatically in Magento 2. If you have any questions, feel free to let us know.
Related Post
- How to create a simple Hello World module for Magento 2
- Magento 2 Block Template Ultimate Guides
- How to Create Module in Magento 2
- How to Create Controller in Magento 2
- How to create CRUD Models in Magento 2
- How to Create Magento 2 Block, Layout and Templates
- Configuration - System.xml
- How To Create Admin Menu In Magento 2
- Admin ACL
- Admin Grid
People also searched for
- magento 2 url rewrite programmatically
- Magento 2 URL Rewrite
- magento 2 url rewrite management
- magento 2 url rewrite id path
- magento 2 url rewrite not working
- magento 2 url rewrite to homepage
- magento 2 url rewrite import
- magento 2 url rewrite category to cms page
- magento 2 url rewrite extension
- magento 2 url rewrite table
- magento 2 url rewrite custom module
- magento 2 url rewrite seo
- magento 2 url rewrite target path
- magento 2 url rewrite tutorial
- magento 2 update core url rewrite
- magento 2 url rewrite video
- magento 2 url rewrite verwaltung
- magento 2 url rewrite with parameters
- magento 2 url rewrite windows
- magento 2 url rewrite www
- magento 2 redirect url with parameters
- magento 2 url rewrite xml
- magento 2 reindex your url rewrite index
- magento 2 url redirect 301
- magento 2 url rewrite 404
- magento 2 add url rewrite for a category
- 2.3.x, 2.4.x