Maria McKinley writes:
Is there a way to not have "pmwiki" show up in the url if you have .htaccess and pmwiki.php in the same directory? I'm thinking not, but wanted to verify.

Yes. Normally you have an index.php file which includes pmwiki.php (wherever pmwiki.php is, in the same directory or elsewhere) and use URL rewriting to redirect requests to index.php.

Here is a sample .htaccess which I use on many different sites:

 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-l
 RewriteRule ^([A-Z0-9\x80-\xFF].*)$       /index.php?n=$1  [QSA,L]

The RewriteCond lines limit the redirection only if the requested URL isn't an actual filename or directory.

The above .htaccess and index.php are in the DOCUMENT_ROOT directory of the server, and in the same directory are wiki.d/ and uploads/.

If your index.php file, wiki.d/ and uploads/ are in a subdirectory, for example pmwiki/index.php, and you want your URLs to be like

 www.shadlenlab.columbia.edu/Main/HomePage

then you need to edit the .htaccess file in the root directory, not the one in the pmwiki/ subdirectory. Here is an example of such a working file:

 RewriteEngine On
 RewriteBase /
 RewriteRule ^$       /pmwiki/index.php [QSA,L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-l
 RewriteRule ^([A-Z0-9\x80-\xFF].*)$       /pmwiki/index.php?n=$1  [QSA,L]

The first RewriteRule line redirects www.shadlenlab.columbia.edu/ without anything else to PmWiki, the last redirects anything that is not a file/dir also to PmWiki.

The /pmwiki/index.php file includes pmwiki.php (wherever it may be) and sets the $ScriptUrl variable and if needed, the $PubDirUrl, the $FarmPubDirUrl and the $UploadsUrlFmt variables.

The first example works for me with HTTPS off, the second with HTTPS on, without doing anything in particular.

In a related question, any idea why this if statement would not work?
# Set PmWiki paths according to the SSL mode
if ($UrlScheme == 'https') {
  $ScriptUrl = "https://www.shadlenlab.columbia.edu/pmwiki";;
 }
else {
  $ScriptUrl = "http://www.shadlenlab.columbia.edu";;
 }

I always end up with the pmwiki in the url, regardless of whether I am using https or http.

I don't see why, it is possible that some of the $_SERVER variables of the system are not correctly presented to PmWiki.

Petko


_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to