0

I want to get the item URL without any directory name, e.g. https://www.example.com/item_id

Keep in mind that the fileitem_id is not the actual file name; it should look like a query string but without?.

I have actual file names like about.php, privacy-policy.php, login.php, terms-of-use.php and many more.

I have tried this RewriteEngine On RewriteRule ^([0-9a-zA-Z-]+)/([0-9a-zA-Z-/-]+)$ controller.php?item_id=$1&item_code=$2 [L]

Keep in mind that the default page of the website is index.php There is another file name called controller.php and this file is included inside the index.php file So the index.php file looks like <?php indlude(/controller.php);?> only.

And this code was works well as this https://www.example.com/item_id/item_code

The problem here is that I just want to look item_id at So when I tried this, RewriteRule ^([0-9a-zA-Z-/-]+)$ items-controller.php?$1&item_id=$1 [L] worked well too, but theabout-us.php file and other actual files are not used as actual files; they are used as the item_id too. So I can either redirect them or stop them. What can I do to let the .htaccess look the actual file first? If there is no actual file like about-us.php file then.htaccess file should take the file (item_id) as anitem_id.

Now to demonstrate When user enters to https://www.example.com the server should look at the index.php page by default, then if the user enters to https://www.example.com/about-us then the server should go straight to the about us page, and for others actual page too, but if the user enters https://www.example.com/item_id then the server first see if there is an actual file name with this, if not found then let the server see it as a query string. then I can look it up in the MySQL database.

NOTE: item_id can be numeric/letters or both.

Thank you in advance.

Mike john
  • 1
  • 1
  • 6

0 Answers0