Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting two variables in the URL with htaccess

What way it is to be to get two GET methods in the URL by htaccess?

RewriteRule ^adm/(.*)$ adm.php?mode=$1

I've used that for the example URL:

http://www.domain.com/adm/thismode

Now I want to get two methods like:

http://www.domain.com/adm/thismode/othermode

I've tried this:

RewriteRule ^adm/(.*)$/(.*)$ adm.php?mode=$1&othermode=$2

But doesn't seem to work... how do I get it to do that?

EDIT:

$mode1 = $_GET['mode'];

$mode2 = $_GET['othermode'];

Like this...

EDIT AGAIN:

http://www.domain.com/adm/generated/pass/6z9c4q9k8p

Right... this is the URL it has to do

And in the PHP it has this:

if($mode == "generated")

I want the PHP to see if the mode is set in the URL and the generated password is the other GET

I put the htaccess as this way:

RewriteRule ^adm/(.*)/(.*)$ adm.php?mode=$1&generated=$2

The PHP will also grab the generated password in the URL and display it on the page.

like image 353
MacMac Avatar asked Dec 06 '22 03:12

MacMac


2 Answers

what's the problem you're having now Seems like Richard got you what you needed?

Using your example URL:

http://www.domain.com/adm/generated/pass/6z9c4q9k8p

and the following in your .htaccess

RewriteRule ^adm/(.*)/(.*)/(.*)$ adm.php?mode=$1&generated=$2&pass=$3

then you can do:

$mode1 = $_GET['mode'];
$generated = $_GET['generated'];
$pass = $_GET['pass'];
if ( $mode1 == 'generated' && $generated == 'pass' ) 
    echo $pass;

or was that not your question?

like image 179
pocketfullofcheese Avatar answered Dec 18 '22 04:12

pocketfullofcheese


In Perl compatible RegExs a $ is an anchor, which denotes "the end". So remove the $ from the middle of your pattern, after ^adm/(.*):

RewriteRule ^adm/(.*)/(.*)$ adm.php?mode=$1&othermode=$2
like image 23
Richard JP Le Guen Avatar answered Dec 18 '22 04:12

Richard JP Le Guen