change php page url using htaccess - php

I want to change the url from
http://mywebsite/address.php?state=oh&office_id=1425
to
http://mywebsite/office/{variable inside my php page}.php
appreciate if you can help me

This should work:
RewriteEngine On
RewriteRule ^office/([0-9]+).php$ address.php?state=oh&office_id=$1
Which would result in:
http://expample.com/office/1425.php
Or if you'd like the state to be dynamic as well, you could do this:
RewriteEngine On
RewriteRule ^office/([a-zA-Z]+)/([0-9]+).php$ address.php?state=$1&office_id=$2
Which would result in:
http://expample.com/office/oh/1425.php

I would suggest to have a look at mod_rewrite Apache module.
You can do various URL manipulations with it.
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
Beginner's guide:
http://www.workingwith.me.uk/articles/scripting/mod_rewrite

Related

Wildcard Url Pattern using htaccess

i am looking for htaccss code. i want like if some one vist
domain.com/folder/ver-234123.html
domain.com/folder/ver-4234234.html
domain.com/folder/ver-kahsdkf.html
so it all baiscally open domain.com/folder/index.php
i will randomize the number/digits after ver- via php.
You want to use mod_rewrite.
Assuming "/folder" actually exists and this .htaccess would be within it.
This should be a fairly simple rewrite. Something like:
RewriteEngine on
RewriteRule ^/?ver-[a-z0-9]*\.html index.php [L,QSA]

Making php handle get URI's like symfony

I am starting a project that is too small to use a framework for, but I would like to make the uri look like how symfony has them.
e.g.
example.net/directory/var/value/
instead of
example.net/directory?var=value
Thanks for any help.
the keyword you have to look for is: url rewrite
here is a simple example
make a file named .htaccess into your root
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^directory/([^/]+)/([^/]+) /directory.php?var=$1&value=$2 [NC]
and that happens:
http://domain.com/directory/AAA/123 => /directory.php?var=AAA&value=123
more over here: http://corz.org/serv/tricks/htaccess2.php

Custom URL with PHP

I have a small question to ask. Is it possible, via php or htaccess, to change a url like: miodominio.com/users.php?idu=x into something like miodominio.com/username ?
I want it to be Facebook style...Where "username" is the username chosen by idu = x.
There are multiple ways to solve this problem, but here's one that always suits my needs.
Guide all your URL requests through the index.php first and resolve the request in your PHP code second.
1) Use an .htaccess file to direct all URL's through index.php. You'll find one way here by the CodeIgniter framework and a more advanced explanation here. I recommend the CodeIgniter .htaccess guide first if you're inexperienced with .htaccess.
2) Second, use the $_SERVER variable in PHP to extract the URL. Probably with the help of the $_SERVER['REQUEST_URI'], you'll find '/username/' which you can then use to extract the user's data and serve it to them.
Good luck and beware of URL injections using this method.
You need to use apache's mod_rewrite for this. It can translate miodominio.com/username to miodominio.com/users.php?idu=x. There are some good guides about this which are easy to find with Google.
You can try to use this mod_rewrite pattern (add it to the .htaccess):
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?idu=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?idu=$1
you have to write a clean URL in your .htaccess file like :
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ users.php?idu=$1
Put the following in your .htaccess
RewriteEngine on
RewriteRule ^([a-z0-9_-]+)/?$ /users.php?idu=$1 [NC]
The [NC] will make it case-insensitive, if you accept only lowercase username, remove the [NC] from the last.

php mod rewrite

i got a Q regarding mod_rewrite with php.
currently my userprofile php page has the following link to determine a user:
domain.com?username=john
i would need to convert this url into like this:
domain.com/john.
how can i do this in mod_rewrite??
Something like:
RewriteEngine On
RewriteRule ^domain.com/(.*)$ domain.com/profile.php?username=$1
I found the solution. The initial problem was my profile php page has the following link: domain.com/profile.php?username=john
instead of this, i would need to make it easy to read url like this: domain.com/john.
what i did is:
RewriteEngine On
RewriteRule ^([^/\.]+)/?$ /profile.php?username=$1 [L]
I'm not sure if this has any security breach but do leave your feedback

how can I rewrite URL to fancy url?

when my user logs in, I want the get variables that were sent rewrote onto the URL like so:
http://mysite.com/mygetvar1/mygetvar_value1/mygetvar2/mygetvar_value2/
or
mysite.com/mygetvar1=mygetvar_value1/mygetvar2=mygetvar_value2/
How can I do this?
Please help! Thanks!
Codeigniter can offer you like that. Many other PHP frameworks offer that as well.
Try this.
RewriteRule /([^/]*)/([^/]*)/([^/]*)/([^/]*)/ /login.php?$1=$2&$3=$4 [R=301]
RewriteRule /([^/]*)=([^/]*)/([^/]*)=([^/]*)/ /login.php?$1=$2&$3=$4 [R=301]
First you need the mod_rewrite module enable.
After, put this in your config file :
RewriteEngine on
RewriteRule ^ads/(rims|tires|combo)/([0-9]+)/(.+).html /ad.php?noAds=$2 [L,QSA]
This is a example.
Your url will look like : http://www.yourwebsite.com/ads/rims/331/title.html
but you will call the url : http//www.yourwebsite.com/ad.php?noAds=331
For your regex , you should use a site like http://www.rubular.com
You can use the .htaccess file or put in directly in the httpd.conf file

Categories