Hi Everybody,
I have a problem with the way the clean URLS are working and a module I have set up in an embedded forum script (Phorum) i'm using.
The problem I have is that the phorum which is successfully embedded into drupal, is giving the URL of images placed in the forum via BBcode to a script in order to automatically resize them. That way they won't mess up the design. This works and looks good in the embedded phorum.
However it only works when the clean URLs are turned off. When turned on (which I choose from the start and need by now) that resizing function does not work.
I did some debugging and got some great help from the Phorum people and we found out that the way the URLs are rewritten is the problem.
Whenever the URLs of an image are passed on to the script for resizing them the URL is "cleaned up" in a way that the script of the phorum is not able to read it and returns a broken image.
Can any of you help me fix this or point me into the right direction.
My drupal rewriting rules are below. They work fine with the drupal and the rest of the page however this particular module for phorum is not able anymore to receive the URL the way it needs it because for some reason it is cleaned up as well.
Help is much appreciated.
Tino
The topic about this at the Phorum support community can be found at:
http://www.phorum.org/phorum5/read.php?16,116562,page=7
Drupal rewriting rules:
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "(\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)|code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
<IfModule mod_php4.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
</IfModule>
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
RewriteCond %{HTTP_HOST} ^hummer-zone\.com$ [NC]
RewriteRule ^(.*)$ http://www.hummer-zone.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory and
# the rewrite rules are not working properly.
RewriteBase /
# Rewrite old-style URLs of the form 'node.php?id=x'.
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^id=([^&]+)$
#RewriteRule node.php index.php?q=node/view/%1 [L]
# Rewrite old-style URLs of the form 'module.php?mod=x'.
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
#RewriteRule module.php index.php?q=%1 [L]
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
# $Id: .htaccess,v 1.81.2.2 2007/05/21 01:34:59 drumm Exp $
Comments
one solution that just came
one solution that just came to my mind would be to turn off the rewriting option just for that module or the URL of that module -
imaes are passed to
http://www.hummer-zone.com/discuss/index,in_body_scaled_image
as a variable
like this
http://www.hummer-zone.com/discuss/index,in_body_scaled_image=http%3A%2F...
could it be possible to turn off the url rewriting in the .htaccess just for that one particular URL so it receives the URL in a uncleaned way?
Tino
anyone?
anyone?