Forum Moderators: phranque

Message Too Old, No Replies

modifying my code

search for two-digit number

         

WhosAWhata

3:10 pm on Apr 24, 2004 (gmt 0)

10+ Year Member



how do i modify
RewriteCond %{REQUEST_URI} ^SomeString

to
RewriteCond %{REQUEST_URI} ^SomeStringFollowedBy2DigitNumber$

i know a one digit number is [0-9] so is a 2 digit number something like [0-9][0-9] ([0-9][0-9] doesn't quite work)?

jdMorgan

5:48 pm on Apr 24, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Either
[0-9][0-9]
or
[0-9]{2}
should work.

You can also specify that it match, say, two to five digits:
[0-9]{2,5}

Or a minimum of 7
[0-9]{7,}

Or a maximum of 3
[0-9]{,3}

Jim

WhosAWhata

8:49 pm on Apr 24, 2004 (gmt 0)

10+ Year Member



from root i have these files (of importance)

/dir/
/dir/index.php
/dir/.htaccess
/dir/view.php

my .htaccess reads as follows


RewriteEngine on
RewriteCond %{REQUEST_URI}% ^(Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2}$
RewriteRule (.*) view.php?month=$1

however attempting to access something like Apr04 returns

HTTP 404 Not Found

why?

jdMorgan

10:39 pm on Apr 24, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Probably a mod_rewrite quirk:

URIs as seen by RewriteCond %{REQUEST_URI} always start with "/"


RewriteCond %{REQUEST_URI}% [b]^/([/b]Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2}$

URI's as seen by RewriteRule *do not* start with "/" in .htaccess context, unless you use RewriteBase to so specify.
URI's as seen by RewriteRule in httpd.conf *do* start start with "/"

Also, your code can be shortened to:
[code]
RewriteEngine on
RewriteRule ^((Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2})$ view.php?month=$1

Jim

WhosAWhata

2:45 pm on Apr 25, 2004 (gmt 0)

10+ Year Member



THANKS for the tip

WhosAWhata

2:58 pm on Apr 25, 2004 (gmt 0)

10+ Year Member



i have tried so many diferent things but i cant get it to work:



RewriteCond %{REQUEST_URI}% ^/(Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2}$


RewriteCond %{REQUEST_URI}% ^(Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2}$


RewriteRule ^((Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2})$ view.php?month=$1


RewriteRule ^/((Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)[0-9]{2})$ view.php?month=$1


RewriteEngine on
RewriteCond %{REQUEST_URI}% ^/(Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)$
RewriteRule (.*) view.php?month=$1
# note no numbers


RewriteEngine on
RewriteCond %{REQUEST_URI}% ^(Jan¦Feb¦Mar¦Apr¦May¦Jun¦Jul¦Aug¦Sep¦Oct¦Nov¦Dec)$
RewriteRule (.*) view.php?month=$1
# note no numbers

I just can't figure ouy whats wrong

jdMorgan

7:10 pm on Apr 25, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Have you tried:
RewriteRule ^stupid_server\.html$ /index.html [L]

Request [stupid_server.html,...] and you should see you index page. If that doesn't work, then mod_rewrite is disabled.

Do you have an
Options +FollowSymLinks
statement ahead of your mod_rewrite code?

What does you error log say?

Jim

WhosAWhata

7:55 pm on Apr 25, 2004 (gmt 0)

10+ Year Member



i don't have access to ftp at the moment, so i can't read my error log (its obviously below the root)

i know mod_rewrite is enabled because i use it all the time

WhosAWhata

8:02 pm on Apr 25, 2004 (gmt 0)

10+ Year Member



i figured it out,
originally my code had unbroken pipes and i forgot to change them back when i copied your modified code

WhosAWhata

8:49 pm on Apr 25, 2004 (gmt 0)

10+ Year Member



out of curiosuty, why exactly does the site change to broken pipes?