Я бы хотел перенаправить все каталоги верхнего уровня в файл, используя 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_-
A-Za-z0-9_-
Я пробовал это RewriteRule /(.*) /index.php [L], но подкаталоги все еще перенаправлены. Я думал, что добавление косой черты после 2-й круглой скобки сделает работу, но она просто сломаласьперенаправление.
RewriteRule /(.*) /index.php [L]
RewriteRule ^/[A-Za-z0-9_-]+/?$ /index.php
Это будет совпадать с косой чертой, затем именем в соответствии с вашей спецификацией, затем с другой необязательной косой чертой, затем с концом строки, поэтому подкаталоги не будут совпадать
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/?[^/]+/?$ /index.php [L]