11
avtx30
Re: Help needed to change modules path
  • 2008/5/25 21:16

  • avtx30

  • Not too shy to talk

  • Posts: 181

  • Since: 2006/10/12


The last 'extra' commas work for me. Note that my sample is the working one (with the 'extra' commas):

htaccess: http://www.nhatban.net/tmp/htaccess.txt
mainfile.php: http://www.nhatban.net/tmp/mainfile.txt

Hi efrael,

What do you mean the hack did not work for you? What happens?

Before talking about the mainfile.php, let's see if the .htaccess really works. Can you access your site via:

- yousite.com/linksutili/
- yousite.com/terapia/
- yousite.com/main.css
- yousite.com/include/main.js

12
efrael
Re: Help needed to change modules path
  • 2008/5/26 9:23

  • efrael

  • Just popping in

  • Posts: 9

  • Since: 2008/5/12


Good avtx30, this is my .htaccess


RewriteEngine on
RewriteRule ^linksutili/(.*)$ /modules/weblinks/$1 [L]
RewriteRule ^terapia/(.*)$ /modules/content/$1 [L]
RewriteRule ^main.css$ /xoops.css [L]
RewriteRule ^include/main.js$ /include/xoops.js [L]
RewriteRule ^link([^/]*)\.html$ rewrite.php?link=$1 [L]


The first lines are for xoops, the last one is for test.
Only the last line it works.

Consider that XOOPS is installed in a subfolder
http://www.cipog.com/centrogestalt/

so I'm trying http://www.cipog.com/centrogestalt/linksutili/ to point at http://www.cipog.com/centrogestalt/modules/weblinks/

If i try http://www.cipog.com/centrogestalt/links1.html or http://www.cipog.com/centrogestalt/links2.html or http://www.cipog.com/centrogestalt/links*.html
it correctly redirect on a php file that is named rewrite.php

What's wrong in the XOOPS lines?

13
efrael
Re: Help needed to change modules path
  • 2008/5/26 11:18

  • efrael

  • Just popping in

  • Posts: 9

  • Since: 2008/5/12


Hi avtx30,

I found the problem in the .htaccess

I had to avoid a / at the beginning of the path.
So now I have a .htaccess working fine. This is the code

RewriteEngine on
RewriteRule ^linksutili/(.*)$ modules/weblinks/$1 [L]
RewriteRule ^terapia/(.*)$ modules/content/$1 [L]
RewriteRule ^main.css$ xoops.css [L]
RewriteRule ^include/main.js$ include/xoops.js [L]


If I try to access the site by
http://www.cipog.com/centrogestalt/linksutili/ I have the redirect to http://www.cipog.com/centrogestalt/modules/weblinks/

That's fine but is still doesn't work the mainfile.php
If I go to the homepage of my site http://www.cipog.com/centrogestalt/ it opens my page but the link to the http://www.cipog.com/centrogestalt/modules/weblinks/ is NOT changed in http://www.cipog.com/centrogestalt/linksutili/

I assume that now the problem is on the mainfile.php

14
efrael
Re: Help needed to change modules path
  • 2008/5/26 11:52

  • efrael

  • Just popping in

  • Posts: 9

  • Since: 2008/5/12


It's me again!

I found the key.

Don't know why but everithing works fine if I put the code in the mainfile.php NOT at the very beginning bt after the declarations of the XOOPS_URL.

I tried this way because it seems obvious to me that if the function "modules_changer" uses the XOOPS_URL variable, it has to know it and if you put the code at the very beginnning of the mainfile.php you haven't already declared that path.

Is it true?
Now everything seems to work.

This is my .htaccess now

RewriteEngine on
RewriteRule ^linksutili/(.*)$ modules/weblinks/$1 [L]
RewriteRule ^chisiamo/(.*)$ modules/content/$1 [L]
RewriteRule ^forum/(.*)$ modules/newbb/$1 [L]
RewriteRule ^rivista_online/(.*)$ modules/wfdownloads/$1 [L]
RewriteRule ^notizie_e_novita/(.*)$ modules/news/$1 [L]
RewriteRule ^eventi/(.*)$ modules/eguide/$1 [L]
RewriteRule ^main.css$ xoops.css [L]
RewriteRule ^include/main.js$ include/xoops.js [L]


and this is the entire mainfile.php


// $Id: mainfile.dist.php 506 2006-05-26 23:10:37Z skalpa $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <https://xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //




if ( !defined("XOOPS_MAINFILE_INCLUDED") ) {
define("XOOPS_MAINFILE_INCLUDED",1);

// XOOPS Physical Path
// Physical path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_ROOT_PATH', '/web/htdocs/www.cipog.com/home/centrogestalt');
define('XOOPS_ROOT_PATH', '/web/htdocs/www.cipog.com/home/centrogestalt');

// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_URL', 'http://www.cipog.com/centrogestalt');
define('XOOPS_URL', 'http://www.cipog.com/centrogestalt');

define('XOOPS_CHECK_PATH', 1);
// Protect against external scripts execution if safe mode is not enabled
if ( XOOPS_CHECK_PATH && !@ini_get('safe_mode') ) {
if ( function_exists('debug_backtrace') ) {
$xoopsScriptPath = debug_backtrace();
if ( !count($xoopsScriptPath) ) {
die("XOOPS path check: this file cannot be requested directly");
}
$xoopsScriptPath = $xoopsScriptPath[0]['file'];
} else {
$xoopsScriptPath = isset($_SERVER['PATH_TRANSLATED']) ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME'];
}
if ( DIRECTORY_SEPARATOR != '/' ) {
// IIS6 may double the \ chars
$xoopsScriptPath = str_replace( strpos( $xoopsScriptPath, '\\\\', 2 ) ? '\\\\' : DIRECTORY_SEPARATOR, '/', $xoopsScriptPath);
}
if ( strcasecmp( substr($xoopsScriptPath, 0, strlen(XOOPS_ROOT_PATH)), str_replace( DIRECTORY_SEPARATOR, '/', XOOPS_ROOT_PATH)) ) {
exit("XOOPS path check: Script is not inside XOOPS_ROOT_PATH and cannot run.");
}
}



$GLOBALS['_rewriteRulesFrom'] = array(
'/linksutili/',
'/chisiamo/',
'/forum/',
'/rivista_online/',
'/notizie_e_novita/',
'/eventi/',
'/main.css',
'/include/main.js'
);

$GLOBALS['_rewriteRulesTo'] = array(
'/modules/weblinks/',
'/modules/content/',
'/modules/newbb/',
'/modules/wfdownloads/',
'/modules/news/',
'/modules/eguide/',
'/xoops.css',
'/include/xoops.js'
);

$GLOBALS['_abs_offset'] = preg_replace('/https?:\/\/'.$_SERVER["HTTP_HOST"].'/','',XOOPS_URL);
$GLOBALS['_rewriteRulesTo1'] = preg_replace('/^(.*)$/e','"!('.XOOPS_URL.'|\"".$GLOBALS["_abs_offset"]."|\'".$GLOBALS["_abs_offset"].")".preg_quote("\1","!")."!"', $GLOBALS['_rewriteRulesTo']);
$GLOBALS['_rewriteRulesFrom1'] = preg_replace('/^(.*)$/','\\\1\1',$GLOBALS['_rewriteRulesFrom']);

function modules_changer( $s ) {
$s = preg_replace($GLOBALS['_rewriteRulesTo1'],$GLOBALS['_rewriteRulesFrom1'], $s);
for($i=0; $i$s = preg_replace( '/('.preg_quote(XOOPS_URL,'/').'|"|\')'.preg_quote($GLOBALS['_rewriteRulesTo'][$i],'/').'/' , "\\1".$GLOBALS['_rewriteRulesFrom'][$i] , $s ) ;
}
return $s;
}
if (empty($_SERVER['REDIRECT_URL']) || ($_SERVER['REDIRECT_URL'] == $_SERVER['REQUEST_URI'])) {
if (empty($_SERVER['REDIRECT_REDIRECT_STATUS'])) {
if (($_changer_url=modules_changer('"'.$_SERVER['REQUEST_URI'].'"')) != '"'.$_SERVER['REQUEST_URI'].'"') {
header('Location: ' . str_replace('"','',$_changer_url));
}
}
}
$_SERVER['REQUEST_URI'] = str_replace( $GLOBALS['_rewriteRulesFrom'],$GLOBALS['_rewriteRulesTo'], @$_SERVER['REQUEST_URI'] ) ;
$_SERVER['HTTP_REFERER'] = str_replace($GLOBALS['_rewriteRulesFrom'], $GLOBALS['_rewriteRulesTo'], @$_SERVER['HTTP_REFERER'] ) ;

ob_start( 'modules_changer' ) ;



// Database
// Choose the database to be used
define('XOOPS_DB_TYPE', 'mysql');

// Table Prefix
// This prefix will be added to all new tables created to avoid name conflict in the database. If you are unsure, just use the default 'xoops'.
define('XOOPS_DB_PREFIX', 'xoops');

// Database Hostname
// Hostname of the database server. If you are unsure, 'localhost' works in most cases.
define('XOOPS_DB_HOST', 'don't show');

// Database Username
// Your database user account on the host
define('XOOPS_DB_USER', 'don't show');

// Database Password
// Password for your database user account
define('XOOPS_DB_PASS', 'I'M NOT CRAZY');

// Database Name
// The name of database on the host. The installer will attempt to create the database if not exist
define('XOOPS_DB_NAME', 'don't show');

// Use persistent connection? (Yes=1 No=0)
// Default is 'Yes'. Choose 'Yes' if you are unsure.
define('XOOPS_DB_PCONNECT', 0);

define('XOOPS_GROUP_ADMIN', '1');
define('XOOPS_GROUP_USERS', '2');
define('XOOPS_GROUP_ANONYMOUS', '3');

foreach ( array('GLOBALS', '_SESSION', 'HTTP_SESSION_VARS', '_GET', 'HTTP_GET_VARS', '_POST', 'HTTP_POST_VARS', '_COOKIE', 'HTTP_COOKIE_VARS', '_REQUEST', '_SERVER', 'HTTP_SERVER_VARS', '_ENV', 'HTTP_ENV_VARS', '_FILES', 'HTTP_POST_FILES', 'xoopsDB', 'xoopsUser', 'xoopsUserId', 'xoopsUserGroups', 'xoopsUserIsAdmin', 'xoopsConfig', 'xoopsOption', 'xoopsModule', 'xoopsModuleConfig', 'xoopsRequestUri') as $bad_global ) {
if ( isset( $_REQUEST[$bad_global] ) ) {
header( 'Location: '.XOOPS_URL.'/' );
exit();
}
}

if (!isset($xoopsOption['nocommon']) && XOOPS_ROOT_PATH != '') {
include XOOPS_ROOT_PATH."/include/common.php";
}
}
?>



Do you think it is now all right??

Login

Who's Online

442 user(s) are online (297 user(s) are browsing Support Forums)


Members: 0


Guests: 442


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits