This text is replaced by the Flash movie.

Archive for December, 2007

Virtue Mart Bug

December 22nd, 2007
When Adding Category, Product or Just change configuration, the administration page automatically Logs me out, I tried to Google for the solution which is easy to find... and visited the results which are forum of virtuemart but it takes me 3 forums before I finally got to the solution page.


Virtue Mart Session fix

Changes to be made:

administrator/index2.php
BEFORE
########
103 doGzip();
104
105 // if task action is 'save' or 'apply' redo session check
106 if ( $task == 'save' || $task == 'apply' ) {
107 $mainframe->initSessionAdmin( $option, '' );
108 }
#########



AFTER
########
102 // if task action is 'save' or 'apply' redo session check
103 if ( $task == 'save' || $task == 'apply' ) {
104 $mainframe->initSessionAdmin( $option, '' );
105 }
106 doGzip();
########

Joomla SEF and IIS URL rewrite

December 3rd, 2007

Using ISAPI 3.0 over IIS 6.0 for rewriting URL to Search Engine Friendly URL, I experienced this problem that links return 404 error when clicking any links on joomla. After googling for 3 hours, I found the right solution, which requires to hack the code.

.htaacess code
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

This is because Joomla expects original URL in the REQUEST_URI server variable, but in IIS this variable is not available and cannot be emulated.
With ISAPI_Rewrite we store original request in HTTP_X_REWRITE_URL. You can then assign value of this variable in PHP code to the REQUEST_URI variable

at /components/com_sef/sef.php
// IIS patch.
if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}

I append this code over sef.php by the way I'm using the component sh404SEF which I guess is the best for joomla I have tried OpenSEF (this component I guess is not continue for development) and ArtioSEF.