PDA

View Full Version : Installation under SilverStripe | incorrect .htaccess redirect?


Mondi
08-01-2016, 08:43 PM
Hi all -

We installed vB5.2.2. under a Silverstripe installation in a '/community' folder, which should give members access to our forum following http://e-lumini.com/community

However, Silverstripe's .httaccess presumably appends this url incorrectly to http://e-lumini.com/community/?url=/community which, of course, makes the forum inaccessible. Although this question should perhaps better be asked at Silverstripe communities I am just wondering whether one of you are much cleverer than I am with .htaccess structures and contents and could possibly help me pull this redirect issue back on track..?

**** SS .htaccess contents *****

### SILVERSTRIPE START ###
# Deny access to templates (but allow from localhost)
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>

# Deny access to IIS configuration
<Files web.config>
Order deny,allow
Deny from all
</Files>

# Deny access to YAML configuration files which might include sensitive information
<Files *.yml>
Order allow,deny
Deny from all
</Files>

# Route errors to static pages automatically generated by SilverStripe
ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html

<IfModule mod_rewrite.c>

# Turn off index.php handling requests to the homepage fixes issue in apache >=2.4
<IfModule mod_dir.c>
DirectoryIndex disabled
</IfModule>

SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'



# Deny access to potentially sensitive files and folders
RewriteRule ^vendor(/|$) - [F,L,NC]
RewriteRule silverstripe-cache(/|$) - [F,L,NC]
RewriteRule composer\.(json|lock) - [F,L,NC]

# Process through SilverStripe if no file with the requested name exists.
# Pass through the original path as a query parameter, and retain the existing parameters.
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* framework/main.php?url=%1 [QSA]
</IfModule>
### SILVERSTRIPE END ###


***** end SS .htaccess contents *******

Many thanks in advance for your assistance!

Mondi

Seven Skins
08-01-2016, 09:59 PM
Add the code below at the top of your forums .htaccess file.

RewriteEngine Off




https://vborg.vbsupport.ru/attachment.php?attachmentid=155283&stc=1&d=1470096118



.

Mondi
08-01-2016, 10:13 PM
Hey Seven Skins - cheers for responding to my post.

I am actually thinking the 'blockage' sits within the SS .htaccess file above; not in that of the forum's './community' installation. There are a few 'denies' in there which may need to be appended to include that community's folder name.

A little reluctant to 'off' the community's htaccess file for now.

Looking for alternatives now....

Cheers mate!

Seven Skins
08-01-2016, 10:21 PM
You can put this near the top of your SS .htaccess file and this should ignore the community folder.

RewriteRule ^community - [L,NC]

Mondi
08-01-2016, 11:27 PM
Nope - ain't happy. Now running into a 403. Wrecking my brains now Seven Skins.

.htaccess now looks:

### SILVERSTRIPE START ###
# Deny access to templates (but allow from localhost)
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>

# Deny access to IIS configuration
<Files web.config>
Order deny,allow
Deny from all
</Files>

# Deny access to YAML configuration files which might include sensitive information
<Files *.yml>
Order allow,deny
Deny from all
</Files>

# Route errors to static pages automatically generated by SilverStripe
ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html

<IfModule mod_rewrite.c>

# Turn off index.php handling requests to the homepage fixes issue in apache >=2.4
<IfModule mod_dir.c>
DirectoryIndex disabled
</IfModule>

SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'

RewriteRule ^community - [L,NC]

# Deny access to potentially sensitive files and folders
RewriteRule ^vendor(/|$) - [F,L,NC]
RewriteRule silverstripe-cache(/|$) - [F,L,NC]
RewriteRule composer\.(json|lock) - [F,L,NC]

# Process through SilverStripe if no file with the requested name exists.
# Pass through the original path as a query parameter, and retain the existing parameters.


RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* framework/main.php?url=%1 [QSA]
</IfModule>
### SILVERSTRIPE END ###