Хорошо, дайте мне (попытаться) читать это прочь к вам
RewriteEngine on
RewriteRule ^(.*) index.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ -[L,R=404]
Line 2 переписывают^(начинается с) (. *) Захватить что-либо (не включая ничего) сделать index.php
Строка 3 условие продолжается, если запрос^(начинается с) [AZ] + (более 1 прописная буква) a \ (обратная косая черта) a '' (пробел) a/(косая черта), [^? \] * (не) a? или \ ") (\) или '' (пробел) (] *) 0 или более раз, .php, а затем [/? \] косой чертой a? или косой чертой один раз.
Line 4 переписан * сопрягать ничего (не включая ничего), что $ (заканчивается) .php
сделать это -. Перенаправлять ошибки 404
Это не может быть 100% прав, но должно быть достаточно близко.
вы могли бы сделать что-то вроде этого (тест косяк это, хотя)
RewriteCond %{REQUEST_URI} !-f
RewriteRule ([^/]+) index.php?q=$1 [L]
If реальный файл, отправить index.php (имя захвата) поместить в строку запроса д
Mod переписывание может быть настоящая боль для работы. Вот отличный пост по основам https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners
wow so much wrong .... – ArtisticPhoenix
«Кажется, он не работает». - [Объясните *, как это не работает] (http://meta.stackexchange.com/questions/147616/what-do-you-mean-it-doesnt-work). Ошибка/access.log/rewritelog и некоторые примеры, или сделать скринкаст или что-то в этом роде. – mario
Предоставьте дополнительную информацию о том, чего вы хотите достичь, опишите проблему и задайте конкретный вопрос. – zed