mod_rewrite: перенаправить каталоги верхнего уровня в файл - PullRequest
1 голос
/ 13 июля 2010

Я бы хотел перенаправить все каталоги верхнего уровня в файл, используя mod_rewrite.

Таким образом, следующее должно перенаправить туда:

- http://example.com/test
- http://example.com/test8/ 
- http://example.com/test_9231/

Следующее НЕ должно перенаправлять туда:

- http://example.com/test.php
- http://example.com/test_9231/test/
- http://example.com/test/test.php
- http://example.com/test_9231/test

Ни один из каталогов физически не существует.Имена каталогов будут содержать только эти символы: A-Za-z0-9_-

Я пробовал это RewriteRule /(.*) /index.php [L], но подкаталоги все еще перенаправлены.
Я думал, что добавление косой черты после 2-й круглой скобки сделает работу, но она просто сломаласьперенаправление.

Ответы [ 2 ]

2 голосов
/ 13 июля 2010
RewriteRule ^/[A-Za-z0-9_-]+/?$ /index.php

Это будет совпадать с косой чертой, затем именем в соответствии с вашей спецификацией, затем с другой необязательной косой чертой, затем с концом строки, поэтому подкаталоги не будут совпадать

0 голосов
/ 13 июля 2010
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?[^/]+/?$ /index.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...