MyBB Community Forums

Full Version: (Google SEO once more): clash between wordpress .htaccess and forum .htaccess
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(2015-05-25, 07:15 PM)bitcoin Wrote: [ -> ]I confirm it works, though I still don't get it. The multiple (renamed) .htaccess files are still all there; remnants of earlier testing.

The .htaccess is placed in /public_html/forum/

Contents:
RewriteEngine on

# Some hosts require RewriteBase to make RewriteRules work.
RewriteBase /forum/

# Google SEO workaround for search.php highlights:
# Make this rule the first rewrite rule in your .htaccess!
RewriteRule ^([^&]*)&(.*)$ http://crypto.country/forum/$1?$2 [L,QSA,R=301]

# Google SEO 404:
ErrorDocument 404 /forum/misc.php?google_seo_error=404

# Google SEO Sitemap:
RewriteRule ^sitemap\-([^./]+)\.xml$ misc.php?google_seo_sitemap=$1 [L,QSA,NC]

# Google SEO URL Forums:
RewriteRule ^Forum\-([^./]+)$ forumdisplay.php?google_seo_forum=$1 [L,QSA,NC]

# Google SEO URL Threads:
RewriteRule ^Thread\-([^./]+)$ showthread.php?google_seo_thread=$1 [L,QSA,NC]

# Google SEO URL Announcements:
RewriteRule ^Announcement\-([^./]+)$ announcements.php?google_seo_announcement=$1 [L,QSA,NC]

# Google SEO URL Users:
RewriteRule ^User\-([^./]+)$ member.php?action=profile&google_seo_user=$1 [L,QSA,NC]

# Google SEO URL Calendars:
RewriteRule ^Calendar\-([^./]+)$ calendar.php?google_seo_calendar=$1 [L,QSA,NC]

# Google SEO URL Events:
RewriteRule ^Event\-([^./]+)$ calendar.php?action=event&google_seo_event=$1 [L,QSA,NC]

The forum won't recognize .htaccess new only .htaccess

So you can remove the other ones, and keep the .htaccess one, if you'd like.
(2015-05-25, 07:08 PM)Akay Wrote: [ -> ]Problem fixed. Here's what the issue was:

no .htaccess were found, nor the content was in that file. Also multiple .htaccess files was on the server (such as: .htaccess new) and so on.

What do we do with this code? Is it obsolete or still helpful? 
# Default MyBB Rewrite Rules:

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]+)\.html$ calendar.php?action=yearview&calendar=$1&year=$2 [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 application/x-javascript text/css text/html text/xml
</IfModule>

(2015-05-25, 07:18 PM)Akay Wrote: [ -> ]The forum won't recognize .htaccess new only .htaccess

So you can remove the other ones, and keep the .htaccess one, if you'd like.

I'm not completely dense... I understand there has to be a .htaccess file for .htaccess to do its job ;p But look at the countless links I requested help (http://community.mybb.com/thread-170292-...pid1156463http://community.mybb.com/thread-170078-...pid1155255), let alone all the hours I paid a php coder to look at this problem...

So yeah, I'm gonna backtrack why yours all of a sudden works why it never did before ;p

Devvie
(2015-05-25, 07:19 PM)bitcoin Wrote: [ -> ]
(2015-05-25, 07:08 PM)Akay Wrote: [ -> ]Problem fixed. Here's what the issue was:

no .htaccess were found, nor the content was in that file. Also multiple .htaccess files was on the server (such as: .htaccess new) and so on.

What do we do with this code? Is it obsolete or still helpful? 
# Default MyBB Rewrite Rules:

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]+)\.html$ calendar.php?action=yearview&calendar=$1&year=$2 [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 application/x-javascript text/css text/html text/xml
</IfModule>

(2015-05-25, 07:18 PM)Akay Wrote: [ -> ]The forum won't recognize .htaccess new only .htaccess

So you can remove the other ones, and keep the .htaccess one, if you'd like.

I'm not completely dense... I understand there has to be a .htaccess file for .htaccess to do its job ;p But look at the countless links I requested help, let alone all the hours I paid a php coder to look at this problem...

So yeah, I'm gonna backtrack why yours all of a sudden works why it never did before ;p

Devvie

The problem is: if you insert the default .htaccess code, it will give you a 500 internal server error for a reason. It's because it somehow blocks it, for some reason. But RewriteRule works just fine, thus why Google SEO now works suddenly. But all the other codes, will turn into 500 Error, such as this code

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 application/javascript text/css text/html text/xml
</IfModule>


Also about the MyBB rewrite stuff:

It's if you want to use .html at the end instead, basically.

Such as: user-21.html
Quote:The problem is: if you insert the default .htaccess code, it will give you a 500 internal server error for a reason. It's because it somehow blocks it, for some reason. But RewriteRule works just fine, thus why Google SEO now works suddenly. But all the other codes, will turn into 500 Error, such as this code

So... To be very exact... IF someone want to use Google SEO with MyBB 1.8.4, *NO* other codes may be added except the Google SEO ones? What would we have to do if we want to add other rewrite rules? It should be ok to write other rules AFTER the Google SEO ones, right?

And for the record: I compared your version with an earlier tested version I had... They are the same! So it should have worked in the past; I have no idea why it didn't Smile

Sending bitcoin next ;-)

Devvie
twitter.com/devnullius
(2015-05-25, 07:57 PM)bitcoin Wrote: [ -> ]
Quote:The problem is: if you insert the default .htaccess code, it will give you a 500 internal server error for a reason. It's because it somehow blocks it, for some reason. But RewriteRule works just fine, thus why Google SEO now works suddenly. But all the other codes, will turn into 500 Error, such as this code

So... To be very exact... IF someone want to use Google SEO with MyBB 1.8.4, *NO* other codes may be added except the Google SEO ones? What would we have to do if we want to add other rewrite rules? It should be ok to write other rules AFTER the Google SEO ones, right?

And for the record: I compared your version with an earlier tested version I had... They are the same! So it should have worked in the past; I have no idea why it didn't Smile

Sending bitcoin next ;-)

Devvie
twitter.com/devnullius

Yes, after

RewriteEngine on

# Some hosts require RewriteBase to make RewriteRules work.
RewriteBase /forum/

# Google SEO workaround for search.php highlights:
# Make this rule the first rewrite rule in your .htaccess!
RewriteRule ^([^&]*)&(.*)$ http://crypto.country/forum/$1?$2 [L,QSA,R=301]

You can put other Rewrite Rules, as long it's below these and especially after RewriteEngine on

And alright Wink.
Pages: 1 2