Jack
Jack

Reputation: 1

.htaccess php to html

sorry for this simple question, however i still cant get my head round using .htaccess

I'm trying to convert:

search.php?s=dvd&page=1

to

/Search/dvd/page1.html

Thanks,

Jack

Upvotes: 0

Views: 450

Answers (4)

Joko Wandiro
Joko Wandiro

Reputation: 1987

I think you want make clean URI, so if user type url like this:

search/televisi/page4.html

it same as like search.php?s=dvd&page=1

Add this code:

RewriteEngine On
RewriteRule ^search/([a-z]+)/page([1-9]+).html$ search.php?s=$1&page=$2

Upvotes: 0

anubhava
anubhava

Reputation: 785176

If I understand the question OP wants to convert php to html redirection. Try this rule in your .htaccess file:

RewriteEngine on
Options +FollowSymlinks -MultiViews

# to match /search.php?s=dvd&page=1
RewriteCond %{QUERY_STRING} ^s=([^&]*)&page=(.*)$ [NC]
RewriteRule ^search\.php/?$ /Search/%1/page%2.html? [R,L,NC]

# to match /search.php?page=12&s=dvd
RewriteCond %{QUERY_STRING} ^page=([^&]*)&s=(.*)$ [NC]
RewriteRule ^search\.php/?$ /Search/%2/page%1.html? [R,L,NC]

R=301 will redirect with https status 301

L will make last rule

NC is for no case comparison

%1 and %2 are the query parameter values

Upvotes: 0

afsane
afsane

Reputation: 1919

you must put your link "/Search/dvd/page1.html" in the page and with htaccess it will convert to the "search.php?s=dvd&page=1" . i hope it be usefull :)

sample correct htaccess code :

RewriteEngine On
RewriteRule Search/(\d+)/page?(\d+)\.html$ search.php?s=$1&page=$2 [NC,L] 

Upvotes: 0

Rob Stevenson-Leggett
Rob Stevenson-Leggett

Reputation: 35679

I think something like:

RewriteRule ^search/([A-Za-z]+)/page([0-9]+)\.html$ search.php?$1&page$2 

Should do the trick.

Further reading here: http://www.webforgers.net/mod-rewrite/mod-rewrite-syntax.php

Upvotes: 1

Related Questions