Re: mod_rewrite problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/03/07, Israel Brewster <israel@xxxxxxxxxxxxxxxxxx> wrote:
Oh, sure. Sorry- not trying to make things difficult here, it's just
that I spent several hours yesterday working on the issue, so I'm a
bit frustrated, and quite possibly not thinking straight any more :P.
Anyway, the rewrite rules I'm currently working with are as follows:

So far you've moved your initial config:

RewriteEngine On
RewriteBase /
RewriteRule ^nagios[/A-Za-z0-9]* index.php?/categories/8-Nagios [NC,QSA,L]

from a htaccess file to httpd.conf. Was this stuff alone there, with
these other parts in the httpd.conf file, or were they together?
What's also changed and also puzzling is there's now two steps where
there was just one.


RewriteLog "/var/log/httpd/rewrite.log"
RewriteLogLevel 2

### here:
RewriteRule ^/nagios[/A-Za-z0-9]* /categories/8-Nagios [NC,QSA,L,R]
RewriteRule ^(/archives/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+\.html) /
index.php?/$1 [NC,L,QSA]
RewriteRule ^(/authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+) /index.php?/
$1 [NC,L,QSA]
RewriteRule ^(/feeds/categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+
\.rss) /index.php?/$1 [NC,L,QSA]
RewriteRule ^(/feeds/authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+\.rss) /
index.php?/$1 [NC,L,QSA]

### and then here:
RewriteRule ^(/categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+) /
index.php?/$1 [NC,L,QSA]
RewriteRule ^/archives([/A-Za-z0-9]+)\.html /index.php?url=/archives/
$1.html [NC,L,QSA]
RewriteRule ^(/[0-9]+)[_\-][0-9a-z_\-]*\.html /index.php?url=$1-
article.html [L,NC,QSA]
RewriteRule ^/feeds/(.*) /index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^/unsubscribe/(.*)/([0-9]+) /index.php?url=/unsubscribe/
$1/$2 [L,QSA]
RewriteRule ^/approve/(.*)/(.*)/([0-9]+) /index.php?url=approve/$1/$2/
$3 [L,QSA]
RewriteRule ^/delete/(.*)/(.*)/([0-9]+) /index.php?url=delete/$1/$2/
$3 [L,QSA]
RewriteRule ^(/admin|entries)(/.+)? /index.php?url=admin/ [L,QSA]
RewriteRule ^/archive/? /index.php?url=/archive [L,QSA]
RewriteRule ^(/index|atom[0-9]*|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) /
rss.php?file=$1&ext=$2
RewriteRule ^(/plugin|plugin)/(.*) /index.php?url=$1/$2 [L,QSA]
RewriteRule ^/search/(.*) /index.php?url=/search/$1 [L,QSA]
RewriteRule ^/comments/(.*) /index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity_admin\.css) index.php?url=/
$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.*) htmlarea/$1 [L,QSA]

However, the first [L] should cause the second rule to not be reached,
assuming that the [R] isn't meant to be there as you pointed out in
the OP.

... And the last three rules shouldn't do anything (but let's let that drop).

Aside from the nagios one that I added, this is the standard set of
rules for a serendipity (www.s9y.org) install. I have tried
commenting out all of them (completely breaking my site, of course)
except for the nagios one, but I still wind up at the index page when
I try accessing /nagios. The Directory block for the root directory
(which this is all running out of) is the following:

This looks like a general case of mod_rewrite overuse. It's often a
better idea to use a blanket rewrite with exceptions for static files
and then let the application split the url from the environment. But
that's not your problem :)

<Directory "/WebServer/Documents">
     Options -Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
     Allow from all
     RewriteEngine On
</Directory>

Just an aside, don't mix relative and absolute Options. That directive
does what you probably think it should but it wouldn't if -Indexes
weren't the first argument and besides:
Options FollowSymLinks MultiViews
has the same effect and requires less typing.

the rest of my httpd.conf is default, the only other parts I have
edited being the server name and UseCanonicalName directives.

I could potentially edit the php file, but I really don't know php-
my programing skills are primarily limited to shell scripting and C+
+ :) Where would I stick that code, or would that depend on the
script (as I suspect would be the case)? It is the serendipity
index.php file if you want to download it and take a look. Thank you
VERY much for your help. I greatly appreciate it :)

Hrmph, I don't seem to be really helping much. About the script, php
is a pretty brute-force and ignorance kind of environment so just
adding:
phpinfo(); die();
to the start of the script after the opening <?php tag will show you
what's getting passed in, just in case the problem is with the app.

--
noodl
PS. I'm about to pass out for a few hours, good luck : )

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux