3
votes

I am currently using htaccess to force to use index.php file. like given below.

    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [L]

In current website it has some uploaded contents like

  • uploads/item/11.jpg

  • uploads/item/12.jpg

  • uploads/item/13.jpg

I wanted to re re-write it like.

  • uploads/item/11.jpg => uploads/item/11-itemName11whatEver.jpg
  • uploads/item/12.jpg => uploads/item/12-itemName12whatEver.jpg
  • uploads/item/13.jpg => uploads/item/13-itemName13whatEver.jpg

Can anyone help me to find RewriteCond and RewriteRule for this.

Updated

Updated htaccess

    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]


    RewriteCond %{REQUEST_FILENAME} uploads-
    RewriteRule ^uploads-([^/]+)-([0-9]+)-[^.]+\.([a-z]+)$ uploads/$1/$2.$3 [L,NC]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [L]

This helps me to make the URL look like

www.store45.loc/uploads-item-11-sample-watch.jpg

1
What is the URL you want to show in browser?anubhava
@anubhava i wanted to show "site.com/uploads/item/11-itemName11whatEver.jpg"Arjun Raj

1 Answers

3
votes
RewriteCond %{REQUEST_FILENAME} uploads-
RewriteRule ^uploads-([^/]+)-([0-9]+)-[^.]+\.([a-z]+)$ uploads/$1/$2.$3 [L,NC]