| -Karl- |
07-09-2010 03:37 AM |
Rewrite rule, need some help.
So far I have:
Code:
Options +FollowSymLinks
RewriteEngine on
RewriteRule \.(gif|png|jpg|css|js)$|^index\.php$ - [L]
RewriteRule ^quests/(.*)/(.*)$ quests.php?flibble=questview&id=$2&ic=1
RewriteRule ^(.*)$ index.php?page=$1
What I'm trying to do is.
www.mysite.com/quests works fine, the images load and so does the content.
However, if I do something like
www.mysite.com/quests/
it fails to load the images or the content.
I'm also trying to dynamically create a page.
so that www.mysite.com/quests/questname/questid would load the appropriate information. The link currently looks like
quest.php?flibble=questview&id=QUESTID&ic=1 where QUESTID is the number of the quest entry. However, I just can't get my head around it.
This is my function for showing the quest:
PHP Code:
function questview($id) {
require_once ('includes/connect.php');//connect to db include ('includes/steps.php'); /* query for item */ $query = "SELECT * FROM quest WHERE id=$id"; $result = mysql_query ($query); /* if we get no results back, error out */ $numrtn = mysql_num_rows($result);
if ($numrtn == 0) { echo "The quest guide requested cannot be found\n"; echo $id; return; } $row = mysql_fetch_assoc($result); /* easier to read variables and * striping out tags */ $id = $row['id']; $name = $row['name']; $contributors = $row['contributors']; $guideby = $row['guideby']; $added = $row['added']; $location = $row['startinglocation']; $members = $row['members']; $description = $row['description']; $difficulty = $row['difficulty']; $requirements = $row['requirements']; $items = $row['items']; $reward = $row['reward']; $guide = $row['mainbody']; $length = $row['length']; $updated = $row['updated']; if ($members == "Y") { $mem = "members only quest</b>, so it can only be done on a <b>members</b> server."; }else{ $mem = "non-members quest</b>."; } if ($updated == 0){ $up = 'No-one has updated this quest guide'; }else{ $date2 = date("l jS F Y @ H:i:s ", $updated); $up = 'It was last updated on '.$date2; } if ($contributors != ""){ $con = 'Thanks also to <b>'.$contributors.'</b> for changes.'; }else{ $con = 'No-one else has contributed to this quest guide.'; } //$date = date("D M jS, Y g:i a", $added); $date = date("l jS F Y @ H:i:s ", $added); echo ' <div id="quest"><table width="100%" border="0"> <tr> <td> <h1 align="center">'.$name.'</h1> '; echo step_js(); echo pick_clue($id); echo toggle_reward(); echo toggle_clue(); echo '<br>'; echo ' <p class="text1">This quest guide was written by <b>'.$guideby.'</b> for use on Runehints and entered into the database on '.$date.'. '.$up.'. '.$con.' <br /></p> <p><span class="text1"><br />This quest is <b>'.$mem.'</span></p> <p> <span class="qtitle">Description: </span><span class="text1">'.$description.'</span></p> <p><span class="qtitle">Difficulty Level: </span><span class="text1">'.$difficulty.'</span></p> <p> <span class="qtitle">Requirements: </span><span class="text1">'.$requirements.'</span></p>
<p> <span class="qtitle">Items Needed During Quest: </span><span class="text1">'.$items.'</span></p> <p> <span class="qtitle">Starting Location: </span><span class="text1">'.$location.'</span></p> <p><span class="qtitles">Quest Instructions:</span></p>'; echo list_steps($id, true); echo '<p> <div id="rewardwrap" style="display:none;"><span class="qtitle">Reward: </span><span class="text1">'.$reward.'</span></div></p> </td> </tr> </table></div> '; }
Here's the switch:
PHP Code:
switch($_GET['flibble']) { case 'selectquest': selectquest(); break; case 'questview': questview($_GET['id']); break; default: selectquest(); }
I didn't write the function, so it needs modification to work with the rewrite rule.
Any help is greatly appreciated, if you need more information, please ask.
Regards,
Karl
|