User Login    
 + Register
  • Main navigation
Login
Username:

Password:

Remember me



Lost Password?

Register now!
Who's Online
110 user(s) are online (9 user(s) are browsing XoopsWiki)

Members: 7
Guests: 103

kontrolfreek, amin_ts, NIUNIEK, abinsblaue, GPboarder, Runeher, stefan88, more...
[Main Page]

.htaccess & CBB

From XOOPS Project

Main Page | Recent changes | Edit this page | Page history | Switch to MediaWiki mode

Printable version | Disclaimers | Privacy policy

Contents

.htaccess & SEO

.htaccess file are used by apache to rewrite urls. This is very useful when doing an seo optimization. Some of you may have seen a couple of my sites where the modules are operating out side the /modules/ path this is done with a .htaccess file in the XOOPS_ROOT_PATH.

See .htaccess for more details

.htaccess addtions

This is the edition you have to make to CBB to SEO the path.

RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$3/$4/$5/$6
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$3/$4/$5
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$3/$4
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/images/(.*) modules/newbb/images/$3
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$2/$3/$4/$5
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$2/$3/$4
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/images/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$2/$3
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/images/(.*) modules/newbb/images/$2
RewriteRule ^forums/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$1/$2/$3/$4
RewriteRule ^forums/images/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$1/$2/$3
RewriteRule ^forums/images/([a-zA-Z0-9\ \%\_\-]+)/(.*) modules/newbb/images/$1/$2
RewriteRule ^forums/images/(.*) modules/newbb/images/$1
RewriteRule ^forums/include/(.*) modules/newbb/include/$1 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/templates/(.*) modules/newbb/templates/$2  [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/include/(.*) modules/include/templates/$2  [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/0,([0-9]+),([a-zA-Z0-9]+),([0-9]+),([0-9]+),([0-9]+),([a-zA-Z0-9\ \.\_\-]+),([a-zA-Z0-9\ \.\_\-]+)$ modules/newbb/viewforum.php?forum_name=$1&topic_name=$2&forum=$3&type=$4&mode=$5&since=$6&start=$7&sortorder=$8&sortname=$9 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/([0-9]+),([0-9]+),([0-9]+),([0-9]+),([a-zA-Z0-9]+),([a-zA-Z0-9\ \%\_\-]+),([a-zA-Z0-9\ \%\_\-]+)$ modules/newbb/viewtopic.php?forum_name=$1&topic_name=$2&forum=$3&topic_id=$4&post_id=$5&start=$6&type=$7&mode=$8&move=$9
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/$ modules/newbb/viewtopic.php?forum_name=$1&topic_name=$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)$ modules/newbb/viewtopic.php?forum_name=$1&topic_name=$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/newtopic.php$ modules/newbb/newtopic.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/polls.php$ modules/newbb/polls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/reply.php$ modules/newbb/reply.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/viewtopic.php$ modules/newbb/viewtopic.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/viewforum.php$ modules/newbb/viewforum.php$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/search.php$ modules/newbb/search.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/ratethread.php$ modules/newbb/ratethread.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/post.php$ modules/newbb/post.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/polls.php$ modules/newbb/polls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/search.php$ modules/newbb/search.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/edit.php$ modules/newbb/edit.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/delete.php$ modules/newbb/delete.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/votepolls.php$ modules/newbb/votepolls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/0,([0-9]+),([a-zA-Z0-9]+),([0-9]+),([0-9]+),([0-9]+),([a-zA-Z0-9\ \.\_\-]+),([a-zA-Z0-9\ \.\_\-]+)$ modules/newbb/viewforum.php?forum_name=$1&forum=$2&type=$3&mode=$4&since=$5&start=$6&sortorder=$7&sortname=$8 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)$/ modules/newbb/viewforum.php?forum_name=$1 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)$ modules/newbb/viewforum.php?forum_name=$1 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/newtopic.php$ modules/newbb/newtopic.php [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/viewtopic.php$ modules/newbb/viewtopic.php$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/viewforum.php$ modules/newbb/viewforum.php$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/search.php$ modules/newbb/search.php?$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/post.php$ modules/newbb/post.php [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/polls.php$ modules/newbb/polls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/search.php$ modules/newbb/polls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/polls.php$ modules/newbb/polls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/votepolls.php$ modules/newbb/votepolls.php
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/([a-zA-Z0-9\ \%\_\-]+)/$ modules/newbb/viewtopic.php?forum_name=$1&topic_name=$2 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/ modules/newbb/viewforum.php?forum_name=$1 [L,NC,QSA]
RewriteRule ^forums/([a-zA-Z0-9\ \%\_\-]+)/$ modules/newbb/$2 [L,NC,QSA]
RewriteRule ^forums/viewcat.php$ modules/newbb/viewcat.php [L,NC,QSA]
RewriteRule ^forums/viewall.php$ modules/newbb/viewall.php [L,NC,QSA]
RewriteRule ^forums/viewall.php$ modules/newbb/viewall.php [L,NC,QSA]
RewriteRule ^forums/viewtopic.php$ modules/newbb/viewtopic.php [L,NC,QSA]
RewriteRule ^forums/viewforum.php$ modules/newbb/viewforum.php [L,NC,QSA]
RewriteRule ^forums/search.php$ modules/newbb/search.php?$1 [L,NC,QSA]
RewriteRule ^forums/index.php$ modules/newbb/index.php [L,NC,QSA]
RewriteRule ^forums/$ modules/newbb/$1 [L,NC,QSA]

module changes

viewtopic.php

Insert at line 35:

$forum_name = isset($_GET['forum_name'])?sef($_GET['forum_name'],"_"):''; // ?
$topic_title = isset($_GET['topic_name'])?sef($_GET['topic_name'],"_"):''; // ?

if (strlen($forum_name)>0&&strlen($topic_title)>0){

	$sql = "SELECT forum_id FROM ".$xoopsDB->prefix('bb_forums')." WHERE forum_name LIKE '".str_replace(array('\\_',"-"),"_",addslashes($forum_name))."'";
	$ret = $xoopsDB->queryF($sql);
	$rt = $xoopsDB->fetchArray($ret);
	$forum_id = $rt['forum_id'];	
	//echo $sql;
	$sql = "SELECT topic_id FROM ".$xoopsDB->prefix('bb_topics')." WHERE topic_title LIKE '".str_replace(array('\\_',"-"),"_",addslashes($topic_title))."' and forum_id = '$forum_id'";
	$ret = $xoopsDB->queryF($sql);
	$rt = $xoopsDB->fetchArray($ret);
	$topic_id = $rt['topic_id'];

	$sql = "SELECT post_id FROM ".$xoopsDB->prefix('bb_posts')." WHERE topic_id = '$topic_id' and forum_id = '$forum_id' order by post_time asc limit 1";
	$ret = $xoopsDB->queryF($sql);
	$rt = $xoopsDB->fetchArray($ret);
	$post_id = $rt['post_id'];	
	
	
	$topic_id = isset($_GET['topic_id']) ? intval($_GET['topic_id']) : $topic_id;
	$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : $post_id;
	$forum_id = !empty($_GET['forum']) ? intval($_GET['forum']) : $forum_id;
	$move = isset($_GET['move'])? strtolower($_GET['move']) : '';
	$start = !empty($_GET['start']) ? intval($_GET['start']) : 0;
	$type = (!empty($_GET['type']) && in_array($_GET['type'], array("active", "pending", "deleted")))? $_GET['type'] : "";
	$mode = !empty($_GET['mode']) ? intval($_GET['mode']) : (!empty($type)?2:0);

	
} else {

	$topic_id = isset($_GET['topic_id']) ? intval($_GET['topic_id']) : 0;
	$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : 0;
	$forum_id = !empty($_GET['forum']) ? intval($_GET['forum']) : 0;
	$move = isset($_GET['move'])? strtolower($_GET['move']) : '0';
	$start = !empty($_GET['start']) ? intval($_GET['start']) : 0;
	$type = (!empty($_GET['type']) && in_array($_GET['type'], array("active", "pending", "deleted")))? $_GET['type'] : "0";
	$mode = !empty($_GET['mode']) ? intval($_GET['mode']) : (!empty($type)?2:0);
	
	if (($post_id)!=0){
		$sql = "SELECT forum_id FROM ".$xoopsDB->prefix('bb_posts')." WHERE post_id = '$post_id'";
		$ret = $xoopsDB->queryF($sql);
		$rt = $xoopsDB->fetchArray($ret);
		$forum_id = $rt['forum_id'];	
	} 

	$sql = "SELECT forum_name FROM ".$xoopsDB->prefix('bb_forums')." WHERE forum_id = '$forum_id'";
	$ret = $xoopsDB->queryF($sql);
	$rt = $xoopsDB->fetchArray($ret);
	$forum_name = $rt['forum_name'];	

		
	if (($post_id)!=0){
		$sql = "SELECT topic_id FROM ".$xoopsDB->prefix('bb_posts')." WHERE post_id = '$post_id'";
		$ret = $xoopsDB->queryF($sql);
		$rt = $xoopsDB->fetchArray($ret);
		$topic_id = $rt['topic_id'];
	
	}
	$sql = "SELECT topic_title FROM ".$xoopsDB->prefix('bb_topics')." WHERE topic_id = '$topic_id'";
	$ret = $xoopsDB->queryF($sql);
	$rt = $xoopsDB->fetchArray($ret);
	$topic_title = $rt['topic_title'];

	header( "HTTP/1.1 301 Moved Permanently" ); 
	header( "Location: ".XOOPS_URL."/forums/".sef($forum_name)."/".sef($topic_title)."/$forum_id,$topic_id,$post_id,$start,$type,$mode,$move");
}

viewforum.php

Insert at line 34:

$forum_name = isset($_GET['forum_name'])?sef($_GET['forum_name'],"_"):''; // ?
	
	if (strlen($forum_name)>0){
	
		$sql = "SELECT forum_id FROM ".$xoopsDB->prefix('bb_forums')." WHERE forum_name LIKE '".str_replace(array('\\_',"-"),"_",addslashes($forum_name))."'";
		$ret = $xoopsDB->queryF($sql);
		$rt = $xoopsDB->fetchArray($ret);
		$forum_id = $rt['forum_id'];	
	
		
		$forum_id = intval($_GET['forum']) ? intval($_GET['forum']) : $forum_id;
		$type = (!empty($_GET['type']) && in_array($_GET['type'], array("active", "pending", "deleted", "digest", "unreplied", "unread")))? $_GET['type'] : "";
		$mode = !empty($_GET['mode']) ? intval($_GET['mode']) : 0;
		$mode = (!empty($type) && in_array($type, array("active", "pending", "deleted")))?2:$mode;
		$since = isset($_GET['since']) ? intval($_GET['since']) : $xoopsModuleConfig["since_default"];
		$startdate = empty($since)?0:(time() - newbb_getSinceTime($since));
		$start = !empty($_GET['start']) ? intval($_GET['start']) : 0;
		$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC";
		$sortname = $_GET['sortname']!=0 ? $_GET['sortname'] : '';
		
		if ( empty($forum_id) ) {
			redirect_header(XOOPS_URL."/index.php", 2, _MD_ERRORFORUM);
			exit();
		}
		
	} else {
	
		if ( empty($_GET['forum']) ) {
			redirect_header(XOOPS_URL."/index.php", 2, _MD_ERRORFORUM);
			exit();
		}
	
		$forum_id = intval($_GET['forum']);
		if (!empty($_GET['type'])){
			$type = (!empty($_GET['type']) && in_array($_GET['type'], array("active", "pending", "deleted", "digest", "unreplied", "unread")))? $_GET['type'] : "";
		} else {
			$sql = "SELECT forum_name FROM ".$xoopsDB->prefix('bb_forums')." WHERE forum_id = '$forum_id'";
			$ret = $xoopsDB->queryF($sql);
			$rt = $xoopsDB->fetchArray($ret);
			$forum_name = $rt['forum_name'];	
		
			$forum_id = intval($_GET['forum']) ? intval($_GET['forum']) : $forum_id;
			$type = (!empty($_GET['type']) && in_array($_GET['type'], array("active", "pending", "deleted", "digest", "unreplied", "unread")))? $_GET['type'] : "0";
			$mode = !empty($_GET['mode']) ? intval($_GET['mode']) : 0;
			$mode = (!empty($type) && in_array($type, array("active", "pending", "deleted")))?2:$mode;
			$since = isset($_GET['since']) ? intval($_GET['since']) : $xoopsModuleConfig["since_default"];
			$start = !empty($_GET['start']) ? intval($_GET['start']) : 0;
			$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC";
			$sortname = $_GET['sortname'] ? $_GET['sortname'] : 0;
				
			header( "HTTP/1.1 301 Moved Permanently" ); 
			header( "Location: ".XOOPS_URL."/forums/".sef($forum_name)."/0,$forum_id,$type,$mode,$since,$start,$sortorder,$sortname");
			exit;
		}
	}

index.php

Insert at line 34

if (strpos(' '.$_SERVER['REQUEST_URI'],"modules/")){
		header( "HTTP/1.1 301 Moved Permanently" ); 
		header( "Location: ".XOOPS_URL."/forums/".str_replace(array("/modules/newbb/","index.php"),"",$_SERVER['REQUEST_URI']));
	}

Retrieved from "http://www.xoops.org/modules/mediawiki/index.php/.htaccess_%26_CBB"

This page has been accessed 2,290 times. This page was last modified 15:56, 1 June 2008. Content is available under XOOPS Project.


Developers for Hire
Local Support Sites
Make a donation
Please select an amount to donate


Do you want your username revealed with your donation?
Yes - List me as a Generous Donor
No - List my donation as from an Anonymous Donor


Powered by
XOOPS Code hosted on SourceForge

Powered by PHP



Powered by MySQL

Powered by Smarty

OSI certified

All content on this site is subject to the Creative Commons License
Advertisement