htaccess RewriteRule проблема - PullRequest
       0

htaccess RewriteRule проблема

1 голос
/ 24 января 2012

Я новичок в .htaccess, и я нашел несколько статей, и я пытался заставить его работать, но продолжаю терпеть неудачу.

В моем файле .htaccess есть следующее: -

<IfModule mod_ssl.c>
    RewriteBase /mydomain.com/
</IfModule>
<IfModule !mod_ssl.c>
    RewriteBase /
</IfModule>
RewriteEngine On
RewriteRule ^([^.]*)$ index.cgi/$1 [L]

Однако я хочу иметь возможность перейти на mydomain.com / more-info , но это правило делает его mydomain.com / index.cgi / more-info

Как я могу сделать так, чтобы "more-info" освобождалось от этого правила?

Заранее спасибо.


Итак, Ульрихпредложил следующее ...

#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]

... но я все еще получаю '404 Not Found'.Каталог more-info содержит index.htm, и если я отключу этот RewriteEngine, он будет работать нормально.

Ответы [ 3 ]

0 голосов
/ 24 января 2012

как показано ниже

#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]
0 голосов
/ 24 января 2012

Вы можете попробовать это правило:

RewriteRule ^((?!more-info)[^.]*)$ index.cgi/$1 [L,NC]
0 голосов
/ 24 января 2012

Добавить директиву RewriteCond до

RewriteRule ^([^.]*)$ index.cgi/$1 [L]

, что освобождает / больше информации. Что-то вроде -

RewriteCond %{QUERY_STRING} != /more-info

Вы можете найти несколько примеров здесь -> http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...