"No input file specified" when using SEF in Joomla

Topics: User Forum
Nov 4, 2009 at 11:55 AM
Edited Nov 4, 2009 at 11:57 AM

Hi,

I'm on IIS v6.0 - Win2k3. Joomla 1.5.14 installed in root of wwwroot folder. PHP 5.2.10.10. IIRF (IonicIsapiRewriter-1.2.16-bin.zip)

I have followed instructions from http://cheeso.members.winisp.net/IirfHelp/frames.htm. - I placed IsapiRewrite4.dll and ini in C:\WINDOWS\system32\inetsrv\IIRF.

I used config as below (from this thread: http://iirf.codeplex.com/Thread/View.aspx?ThreadId=32771):

#=========================================================================
#This is final version of IIRF ini for standard SEF in Joomla!

RewriteLogLevel 4
RewriteLog c:\IIRFlog

MaxMatchCount 10

RewriteCond %{HTTP_URL} (/|\.htm|\.php|\.html|/[^.]*)$ amp;nbsp;
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/$ /index.php
RewriteRule ^/content/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/ /index.php?option=com_content&task=$1&id=$2&Itemid=$3&limit=$4&limitstart=$5
RewriteRule ^/content/([^/]+)/([^/]+)/([^/]+)/ /index.php?option=com_content&task=$1&id=$2&Itemid=$3
RewriteRule ^/component/option,([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+) /index.php?option=$1&$2=$3&$4=$5&$6=$7
RewriteRule ^/component/option,([^/]+)/([^/]+),([^/]+)/ /index.php?option=$1&$2=$3

#===========================================================================================

After enabling SEF in joomla, URLs are now in format as follows: http://testmarketing/index.php/partners

(Without SEF enabled, link would look as follows: http://testmarketing/index.php?option=com_content&view=article&id=13&Itemid=14)

Unfortunately instead of website I'm getting "No input file specified.".

Below is the output from the log file:

 

--------------------------------------------
Tue Nov 03 16:04:39 -  3660 - New LogFile opened.
Tue Nov 03 16:04:39 -  3660 - ReadConfig: new log file name: 'c:\IIRFLog\IIRfLogfile.1948.log'
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line 11: MaxMatchCount 10
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  13: RewriteCond %{HTTP_URL}                                    (/|\.htm|\.php|\.html|/[^.]*)$            
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  14: RewriteCond %{REQUEST_FILENAME}                            !-f                                       
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  15: RewriteCond %{REQUEST_FILENAME}                            !-d                                       
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  16: RewriteRule (rule 1)  '^/

 

I'm pretty new to this topic, but I have read several instructions both from here and from joomla forum. Please advise where is the problem?

 

 

 '/index.php'   (null)
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  18: RewriteRule (rule 2)  '^/content/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/'  '/index.php?option=com_content&task=$1&id=$2&Itemid=$3&limit=$4&limitstart=$5'   (null)
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  19: RewriteRule (rule 3)  '^/content/([^/]+)/([^/]+)/([^/]+)/'  '/index.php?option=com_content&task=$1&id=$2&Itemid=$3'   (null)
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  20: RewriteRule (rule 4)  '^/component/option,([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)'  '/index.php?option=$1&$2=$3&$4=$5&$6=$7'   (null)
Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  21: RewriteRule (rule 5)  '^/component/option,([^/]+)/([^/]+),([^/]+)/'  '/index.php?option=$1&$2=$3'   (null)
Tue Nov 03 16:04:39 -  3660 - ReadConfig: Done reading, found 5 rules (0 errors, 0 warnings) on 24 lines
--------------------------------------------
Tue Nov 03 16:04:39 -  3660 - Initialize: Ionic ISAPI Rewriting Filter (IIRF) v1.2.16 R8
Tue Nov 03 16:04:39 -  3660 - Initialize: config file 'C:\WINDOWS\system32\inetsrv\IIRF\IsapiRewrite4.ini'
Tue Nov 03 16:04:39 -  3660 - Initialize: File watcher thread created.
Tue Nov 03 16:04:39 -  3660 - GetFilterVersion
Tue Nov 03 16:04:39 -  1264 - FileChangeWatcher(): Enter
Tue Nov 03 16:04:39 -  1264 - FileChangeWatcher: Await()...
Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP
Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_AUTH_COMPLETE
Tue Nov 03 16:04:39 -  3660 - DoRewrites
Tue Nov 03 16:04:39 -  3660 - GetHeader_AutoFree: 'url' = '/index.php/partners'
Tue Nov 03 16:04:39 -  3660 - GetHeader_AutoFree: 'method' = 'GET'
Tue Nov 03 16:04:39 -  3660 - DoRewrites: Url: '/index.php/partners'
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: depth=0
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 1 : -1 (No match)
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 2 : -1 (No match)
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 3 : -1 (No match)
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 4 : -1 (No match)
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 5 : -1 (No match)
Tue Nov 03 16:04:39 -  3660 - EvaluateRules: returning 0
Tue Nov 03 16:04:39 -  3660 - DoRewrites: No Rewrite
Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP
Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP

 

--------------------------------------------

Tue Nov 03 16:04:39 -  3660 - New LogFile opened.

Tue Nov 03 16:04:39 -  3660 - ReadConfig: new log file name: 'c:\IIRFLog\IIRfLogfile.1948.log'

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line 11: MaxMatchCount 10

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  13: RewriteCond %{HTTP_URL}                                    (/|\.htm|\.php|\.html|/[^.]*)$            

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  14: RewriteCond %{REQUEST_FILENAME}                            !-f                                       

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  15: RewriteCond %{REQUEST_FILENAME}                            !-d                                       

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  16: RewriteRule (rule 1)  '^/$'  '/index.php'   (null)

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  18: RewriteRule (rule 2)  '^/content/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/'  '/index.php?option=com_content&task=$1&id=$2&Itemid=$3&limit=$4&limitstart=$5'   (null)

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  19: RewriteRule (rule 3)  '^/content/([^/]+)/([^/]+)/([^/]+)/'  '/index.php?option=com_content&task=$1&id=$2&Itemid=$3'   (null)

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  20: RewriteRule (rule 4)  '^/component/option,([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)/([^/]+),([^/]+)'  '/index.php?option=$1&$2=$3&$4=$5&$6=$7'   (null)

Tue Nov 03 16:04:39 -  3660 - ReadConfig: line  21: RewriteRule (rule 5)  '^/component/option,([^/]+)/([^/]+),([^/]+)/'  '/index.php?option=$1&$2=$3'   (null)

Tue Nov 03 16:04:39 -  3660 - ReadConfig: Done reading, found 5 rules (0 errors, 0 warnings) on 24 lines

 

--------------------------------------------

Tue Nov 03 16:04:39 -  3660 - Initialize: Ionic ISAPI Rewriting Filter (IIRF) v1.2.16 R8

Tue Nov 03 16:04:39 -  3660 - Initialize: config file 'C:\WINDOWS\system32\inetsrv\IIRF\IsapiRewrite4.ini'

Tue Nov 03 16:04:39 -  3660 - Initialize: File watcher thread created.

Tue Nov 03 16:04:39 -  3660 - GetFilterVersion

Tue Nov 03 16:04:39 -  1264 - FileChangeWatcher(): Enter

Tue Nov 03 16:04:39 -  1264 - FileChangeWatcher: Await()...

Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP

Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_AUTH_COMPLETE

Tue Nov 03 16:04:39 -  3660 - DoRewrites

Tue Nov 03 16:04:39 -  3660 - GetHeader_AutoFree: 'url' = '/index.php/partners'

Tue Nov 03 16:04:39 -  3660 - GetHeader_AutoFree: 'method' = 'GET'

Tue Nov 03 16:04:39 -  3660 - DoRewrites: Url: '/index.php/partners'

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: depth=0

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 1 : -1 (No match)

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 2 : -1 (No match)

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 3 : -1 (No match)

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 4 : -1 (No match)

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: Rule 5 : -1 (No match)

Tue Nov 03 16:04:39 -  3660 - EvaluateRules: returning 0

Tue Nov 03 16:04:39 -  3660 - DoRewrites: No Rewrite

Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP

Tue Nov 03 16:04:39 -  3660 - HttpFilterProc: SF_NOTIFY_URL_MAP

 

------------------------------------------------------------------------------------------------

I'm pretty new to this topic, but I have read several instructions both from here and from joomla forum. Please advise where the problem is?

Coordinator
Nov 4, 2009 at 5:08 PM
Edited Nov 9, 2009 at 12:15 PM

Seems like you'd like to just have this work, but you're not looking at the rules, or you're not thinking about how it works.

The IIRF filter works by doing pattern matching on the incoming URL request. in your case that request is /index.php/partners (or similar).

In order to rewrite that, you need to have a rule that matches /index.php/partners. 

In the ini file you showed, you have rules that match /content(morestuff)  and /component(morestuff) , but nothing that matches /index.php .  Do you see that?

If you want to rewrite a URL request, you need a rule with a pattern that matches the incoming request.. 

I don't know joomla., so I cannot help you on specifics of it.  But the problem you are having is not specific to joomla.  It is a basic rewriting problem - you don't have a rule that matches.

Read the Fine Manual - it has tons of examples on how to write rules and test them.

Good luck.

 

Nov 9, 2009 at 10:36 AM

Hi Cheeso,

Thanks for your reply. Below is the sample .htaccess file that comes together with Joomla package.

It works great on Apache, I was trying to use it with IIRF. I know that RewriteBase will be skipped so I moved joomla to the root folder. But these rules still don't work (I copied all these lines between Begin and End comments). Are the regular expressions interpretted differently on IIRF?

 

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

RewriteBase /joomla


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

 

 

Cheers,

sigman

Coordinator
Nov 9, 2009 at 12:17 PM

You  must change !^/index.php to       ^(?!/index\.php)

Also I don't know what E=HTTP_AUTHORIZATION means.  I don't know what that is.