Dan Barzilay
Dan Barzilay

Reputation: 4983

htaccess mod rewrite 2 words

I have this code:

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule ^ראשי$ index.php?page=main [L,QSA,NC]
    RewriteRule ^ניהול גלריות$ index.php?page=galleries [L,QSA,NC]
    RewriteRule ^ניהול דפים$ index.php?page=pages [L,QSA,NC]
    RewriteRule ^ניהול משתמשים$ index.php?page=users [L,QSA,NC]
    RewriteRule ^הגדרות כלליות$ index.php?page=settings [L,QSA,NC]
    RewriteRule ^דיווחים$ index.php?page=reports [L,QSA,NC]

</IfModule>

It's making an 500 internal server error, if I only put the lines with one word like "דיווחים" it works but when I add those with two words like "ניהול דפים" not working.

How can you fix it? (maybe the problam is in the space between the 2 words?)

Upvotes: 1

Views: 202

Answers (2)

Brian
Brian

Reputation: 15706

mod_rewrite supports logging, so you could could add this to get more details:

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

Also check apache's error_log, as it usually writes something on a 500 error.

Upvotes: 1

Lix
Lix

Reputation: 47976

What you are writing there essentially are regular expressions. You might want to try using a regular expression meta character to indicate the presence of a space.

Why don't you try something like this -

RewriteRule ^ברזילאי\sדן$ index.php?page=galleries [L,QSA,NC]

The \s indicates whitespace.

Upvotes: 2

Related Questions