Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

mod_rewrite issues

edited July 2006 in Vanilla 1.0 Help
I'm pretty sure this relates to Friendly URLs, but I'm not really sure. Anyway:

If you're using friendly URLs, and someone posts a discussion with a title that's all numbers, nothing in the thread shows up. You can continue to post there and it'll increase the post count and show new posts, but none of the text shows up.

Furthermore, if you edit an existing discussion's title to be all numbers, everything in the discussion disappears.

We discovered this on my forum last night, so I thought I should pass the word along.

Comments

  • OK, so apparently it doesn't happen here...I give up. =o(
  • MarkMark Vanilla Staff
    Have you got the latest version of friendly urls? It could also be the way mod_rewrite is configured on your server...
  • MarkMark Vanilla Staff
    I've renamed your discussion so you don't scare people :)
  • edited July 2006
    Yep, if the name is a number, the title will be the value of "page=". If the title of this discusion was "69", apache will try to get http://lussumo.com/community/comments.php?DiscussionID=3049&page=69
  • edited July 2006
    Try replacing this part:
    #Comments RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.*)$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.*)/$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/(.*)$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/(.*)/$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)/$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/$ comments.php?DiscussionID=$1 [QSA,L]
    by#Comments RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.+)$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.+)/$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/(.*)$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/(.*)/$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)/$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/$ comments.php?DiscussionID=$1 [QSA,L]
  • It's maybe a bit offtopic, but wouldn't it be a bit easier, and less lines consuming to use this for both with and without the /-ending:
    RewriteRule ^discussion/([0-9]+)([/]?)$ comments.php?DiscussionID=$1 [QSA,L]
    Instead of two rules to do that:
    RewriteRule ^discussion/([0-9]+)$ comments.php?DiscussionID=$1 [QSA,L] RewriteRule ^discussion/([0-9]+)/$ comments.php?DiscussionID=$1 [QSA,L]
  • This is what was there until we removed it:

    http://cl1p.net/htaccess

    Does anyone see what the problem was?
  • You just need to replace "(.*)" by "(.+)" in these 2 rules:#Comments RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.*)$ comments.php?DiscussionID=$1&page=$2 [QSA,L] RewriteRule ^discussion/([0-9]+)/([0-9]+)/(.*)/$ comments.php?DiscussionID=$1&page=$2 [QSA,L]
  • Your .htaccess should look like this one.
This discussion has been closed.