简体   繁体   中英

URL Mod-Rewrite

I currently have a working URL:

http://example.com/security-services.php?service=fixed-camera-surveillance

and then I have PHP say, $_REQUEST['service'] to do some stuff...

But I'd like to achieve the same function if the URL looked like this:

http://example.com/security-services/fixed-camera-surveillance

Thanks!

An .htaccess file with something like this should do it.

Options +FollowSymLinks
RewriteEngine On

RewriteRule security-services/(.*)/? security-services.php?service=$1 [L]

The part that says security-services/(.*)/? matches the URL in the browser and rewrites it to security-services.php .

The key part is the (.*) which captures that portion of the URL and passes it to the PHP script as a GET value.

Try this rule:

RewriteEngine on
RewriteRule ^security-services/([^/]+)$ security-services.php?service=$1 [L]

The [^/]+ describes the next path segment after /security-services , (…) forms a group that's match then can referenced to with $1 in the substitution.

And if you want a more general for any kind of …-service.php file:

RewriteEngine on
RewriteRule ^([^/-]+)-services/([^/]+)$ $1-services.php?service=$2 [L]

You can create a rule like this:

RewriteRule ^security-services/(.*)/? /security-services.php?service=$1

If you're using a .conf file, change ^ to ^/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM