php - RewriteRule correction -


i've been working on whole day can't figure out. want. both should have urls left /p/test/ or /p/test , not redirect /p.php?slug=test (same tag).

example.com/p/test/ -> query example.com/p.php?slug=test   example.com/p/test  -> query example.com/p.php?slug=test  example.com/tag/sometag/ -> query example.com/tag/index.php?tagid=sometag   example.com/tag/sometag  -> query example.com/tag/index.php?tagid=sometag   

what i've tried far:

rewriteengine on rewritecond %{request_filename} !-f rewriterule ^p/([a-z]+)$ p/$1/ [l] rewriterule ^p/([a-z]+)/$ p.php?slug=$1 [l]  rewriterule ^tag/([a-z]+)/?$ tag/index.php?tagid=$2 [l]   

2nd example:

rewriteengine on rewritecond %{request_filename} !-f rewriterule ^p/([a-z]+)$ p/$1/ [l] rewriterule ^p/([a-z]+)/$ p.php?slug=$1 [l]  rewriterule ^tag/([a-z]+)$ tag/$2/ [l] rewriterule ^tag/([a-z]+)/$ /tag/index.php?tagid=$2/ [l]   

last example:

rewriteengine on rewritecond %{request_filename} !-f  rewriterule ^p/([.*])$ p/$1/ [l] rewriterule ^p/([.*])/$ p.php?slug=$1 [l]  rewriterule ^tag/([.*])/?$ tag/index.php?tagid=$1 [l] 

non of them working fine except first example first rule (line 3 , 4). 1 had problem, /p/test different /p/test/ there no sign of error whatsoever.

here function proceeding tagid param (and works fine):

public function searchtagid($tag) {     if (isset($tag)) {         $db     = new databaseestablish();         $con    = $db->connect();          $sql    = $db->dbquery($con, "select *                                       posts                                       tags '%{$tag}%'");          $resultcount = $db->countrows($sql);          if ($resultcount == 0) {             header('location: ../../index.php');         }         while($row = $db->fetcharray($sql)){                 echo $row[0];             }     } } 


.htaccess bellow:

rewriteengine on  rewritecond %{request_filename} -f [or] rewritecond %{request_filename} -d rewriterule ^ - [l]  rewriterule ^tag/([^/]+)/?$ /tag/index.php?tagid=$1 [qsa,l]  rewriterule ^p/([^/]+)/?$ /p.php?slug=$1 [qsa,l] 

redirects example.com/p/test/ -> example.com/p.php?slug=test redirects example.com/p/test -> object not found error

redirects example.com/tag/sometag/ -> object not found error redirects example.com/tag/sometag -> object not found error

now, there wanted tell you, please don't blame me, don't want above urls redirect page wrote @ top, rewrite them (do query). example: example.com/p/test/ -> should not redirect example.com/p.php?slug=test url query (in how can call back-end). url should still example.com/p/test/ (or /p/test). can't explain better, really.

rewriteengine on  rewritecond %{request_filename} !-f rewriterule ^/?p/([^/]+)/?$ /p.php?slug=$1 [r=301,l]  rewritecond %{request_filename} !-f rewriterule ^/?tag/([^/]+)/?$ /tag/index.php?tagid=$1 [r=301,l] 

Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -