MyBB Community Forums

Full Version: mybb .htaccess file query
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So, my hosting provider says that in order to add a redirect I should add the code in .htaccess file of mine. I want to create a redirect by which a sub-domain will be redirected to the main domain.

Now as I have mybb installed in the root directory, it already has a .htaccess file and plenty of codes in it (I don't understand code).

I pasting here the code which is present in the file.
Options -MultiViews +FollowSymlinks -Indexes

#
# If mod_security is enabled, attempt to disable it.
# - Note, this will work on the majority of hosts but on
#   MediaTemple, it is known to cause random Internal Server
#   errors. For MediaTemple, please remove the block below
#
<IfModule mod_security.c>
# Turn off mod_security filtering.
SecFilterEngine Off

# The below probably isn't needed, but better safe than sorry.
SecFilterScanPOST Off
</IfModule>

#
# MyBB "search engine friendly" URL rewrites
# - Note, for these to work with MyBB please make sure you have
#   the setting enabled in the Admin CP and you have this file
#   named .htaccess
#
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^forum-([0-9]+)\.html$ forumdisplay.php?fid=$1 [L,QSA]
RewriteRule ^forum-([0-9]+)-page-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 [L,QSA]

RewriteRule ^thread-([0-9]+)\.html$ showthread.php?tid=$1 [L,QSA]
RewriteRule ^thread-([0-9]+)-page-([0-9]+)\.html$ showthread.php?tid=$1&page=$2 [L,QSA]
RewriteRule ^thread-([0-9]+)-lastpost\.html$ showthread.php?tid=$1&action=lastpost [L,QSA]
RewriteRule ^thread-([0-9]+)-nextnewest\.html$ showthread.php?tid=$1&action=nextnewest [L,QSA]
RewriteRule ^thread-([0-9]+)-nextoldest\.html$ showthread.php?tid=$1&action=nextoldest [L,QSA]
RewriteRule ^thread-([0-9]+)-newpost\.html$ showthread.php?tid=$1&action=newpost [L,QSA]
RewriteRule ^thread-([0-9]+)-post-([0-9]+)\.html$ showthread.php?tid=$1&pid=$2 [L,QSA]

RewriteRule ^post-([0-9]+)\.html$ showthread.php?pid=$1 [L,QSA]

RewriteRule ^announcement-([0-9]+)\.html$ announcements.php?aid=$1 [L,QSA]

RewriteRule ^user-([0-9]+)\.html$ member.php?action=profile&uid=$1 [L,QSA]

RewriteRule ^calendar-([0-9]+)\.html$ calendar.php?calendar=$1 [L,QSA]
RewriteRule ^calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)\.html$ calendar.php?calendar=$1&year=$2&month=$3 [L,QSA]
RewriteRule ^calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)-day-([0-9]+)\.html$ calendar.php?action=dayview&calendar=$1&year=$2&month=$3&day=$4 [L,QSA]
RewriteRule ^calendar-([0-9]+)-week-(n?[0-9]+)\.html$ calendar.php?action=weekview&calendar=$1&week=$2 [L,QSA]

RewriteRule ^event-([0-9]+)\.html$ calendar.php?action=event&eid=$1 [L,QSA]

<IfModule mod_env.c>
SetEnv SEO_SUPPORT 1
</IfModule>
</IfModule>

#
# If Apache is compiled with built in mod_deflade/GZIP support
# then GZIP Javascript, CSS, HTML and XML so they're sent to
# the client faster.
#
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css text/html application/xhtml+xml text/xml application/xml text/plain text/x-component application/javascript application/x-javascript application/rss+xml application/atom+xml application/json application/manifest+json application/x-web-app-manifest+json application/vnd.ms-fontobject application/font-sfnt application/font-woff application/font-woff2 image/svg+xml image/x-icon
</IfModule>

# Note: You are able to choose a different name in the Admin CP. If you've done that you need to change it here too
<Files "error.log">
Order Deny,Allow
Deny from all
</Files>

Can anybody suggest me here what code should I add in it to successfully create a 301 redirect in which my sub-domain will be redirected to the main domain?
well you haven't given which sub domain you want to redirect to which of your domain. but let's start like this. I.e. if your sub domain is blog.example.com and you want to redirect all to its main domain I.e https://www.example.com so the code to do that will be:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.example\.com [NC]
RewriteRule ^(.*) https://www.example.com/$1 [L,R=301]
(2019-01-30, 03:19 AM)xics Wrote: [ -> ]well you haven't given which sub domain you want to redirect to which of your domain. but let's start like this. I.e. if your sub domain is blog.example.com and you want to redirect all to its main domain I.e https://www.example.com so the code to do that will be:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.example\.com [NC]
RewriteRule ^(.*) https://www.example.com/$1 [L,R=301]

Okay got it thanks.
 And also can you provide the code for transferring from http to https?
Use this to redirect http to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

There is a complete guide for this
https://docs.mybb.com/1.8/administration...ity/https/

Regards
WallBB
So, all I have to do is add this code after the </Files> command?
(2019-01-30, 07:14 AM)vk_knight Wrote: [ -> ]So, all I have to do is add this code after the </Files> command?

No, make that at the very beginning (the top) of the .htaccess code.

Like you see in the screenshot.

[Image: 76b5656b8e29c84a42d8a202e77cef31.png]