You need to add boundaries to your regular expressions. For example, the regex ^forum/([a-zA-Z0-9_-]+)
matches both /forum/new-thread
and /forum/community
so your rules are looping. You can either add the $
end of string match to your regex or add conditions to stop the rewrite:
RewriteRule ^forum/([a-zA-Z0-9_-]+)/new-thread$ /forum/new-thread.php?comm=$1 [L]
RewriteRule ^forum/([a-zA-Z0-9_-]+)$ /forum/community.php?comm=$1 [L]
or
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteRule ^forum/([a-zA-Z0-9_-]+)/new-thread /forum/new-thread.php?comm=$1 [L]
RewriteRule ^forum/([a-zA-Z0-9_-]+) /forum/community.php?comm=$1 [L]
or
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^forum/([a-zA-Z0-9_-]+)/new-thread /forum/new-thread.php?comm=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^forum/([a-zA-Z0-9_-]+) /forum/community.php?comm=$1 [L]