You need to register with a dynamic DNS service: there are a number of free ones, easily found by searching the web.
This will give you a web address along the lines of mohammad.dynamicwebaddress.com. You will also get a client application which runs periodically in your web server (usually at intervals of between 5 and 30 minutes): this checks the public address of your web server and updates the DNS service each time it changes, though some routers can be set up to do this without needing this polling client.
This makes sure that mohammad.dynamicwebaddress.com always points to your web server - or, to be more precise, nearly always: when your public IP changes, there is a period until the the next client poll when your web site is inaccessible (up to whatever interval you chose).
The remaining task is to set your blah.com domain to point to mohammad.dynamicwebaddress.com, and your domain registrar should provide the facility to do this.
A couple of points to note:-
- It seems as though you are trying to use a home broadband connection for your server: be aware that data from your site are down-loaded at your up-load speed.
- Sooner or later your web site will be found by search engines and you will then get a lot of unwanted traffic, and some of it may be malevolent.
- Depending on the data you need to access on your server and the people who need to access it, you might want to consider whether synchronising a home folder to a cloud site might be a better solution.
For what it's worth I use a cloud site for some data, but my photo and video collection are too large for this. I point my web domain at a public host site, then I have some hidden sub-pages which are not linked from the public web pages and which redirect to addresses on my home server: in your case blah.com would point to mohammad.publichost.com, so that blah.com/PrivateContent/ would point to mohammad.publichost.com/PrivateContent/index.htm, which would redirect to mohammad.dynamicwebaddress.com/Content, for example.
The redirection code is just a couple of lines of HTML, such as:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Home Content</title>
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://mohammad.dynamicwebaddress.com/Content">
</head>
<body>
<h3>Redirecting ........</h3><br>
If this page doesn't redirect you automatically in 5 seconds, <a href="http://mohammad.dynamicwebaddress.com/Content">click here</a>
</body>
</html>
In this way I still use my domain, and the search engines find my public site, but my home server is protected from them, and data that I update infrequently and for which I need rapid access are available from the cloud.