Возникла проблема с htaccess (rewritecond / rewriterule) - PullRequest
1 голос
/ 07 ноября 2011

По сути, я хочу переписать движок, чтобы убить все URI, в которых есть «.php».

Итак, у меня есть это, но, похоже, оно не работает ...

RewriteCond %{REQUEST_URI} ^(\.php)+$
RewriteRule ^/$ 404[L]

Даже просто RewriteRule ^ (. *. Php) + / $ 404 не 'работает.

Возможно, мой мозг ошеломлен работой над этим проектом весь день, так что это может быть небольшая ошибка.

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

Попробуйте:

RewriteRule ^(login|register)$ $1.php [NC,QSA,L]

RewriteCond %{SCRIPT_FILENAME} !\/(login|register)(\.php)? [NC]
RewriteCond %{REQUEST_URI} \.php$
RewriteRule (.*) 404 [L]

(логин | регистрация | и т. Д.) - имя файла.Это означает: войдите ИЛИ зарегистрируйтесь ИЛИ какой-нибудь другой файл, если у вас их больше одного.Если у вас есть только 1, вы можете использовать (логин) или логин

0 голосов
/ 08 ноября 2011

У вас не может быть RewriteRule, который перенаправляет URI в файл php; это становится дырой в петле с первым cond, являющимся ^ (php).

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