mod_rewrite и проблема с косой чертой - PullRequest
0 голосов
/ 20 апреля 2011

Как перенаправить URL, как это

http://example/foo/bar/

http://example/foo/bar

до

http://example/foo/bar.php

Вот мое правило перезаписи

RewriteRule ^(.*)$ $1.php

Работает с http://example/foo/bar, но если URL заканчивается косой чертой, возникает ошибка (Внутренняя ошибка сервера) Что делать, чтобы оба типа URL работали правильно?

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Это потому, что / получил совпадение в группе. *, Поэтому вы звоните http://example/foo/bar/.php

Чтобы сделать обе работы, используйте:

RewriteCond %{REQUEST_URI} !\.php
RewriteRule ^(.*)/?$ $1.php

РЕДАКТИРОВАТЬ: забудь, когда мы сначала спросим файл

0 голосов
/ 20 апреля 2011

Ну, если это действительно то, что вы хотите сделать, то:

RewriteRule  ^(.*)/?$  $1.php

Я не проверял это, но я думаю, что это работает.

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