Я пытаюсь выяснить, как изменить файл .htaccess, так что я могу сделать две вещи:Apache + PHP без «.php» File Extension, но в том числе Path Info
- не должны включать. расширение php на моих PHP-файлах (например, запрос
my.domain.com/page
соответствуетmy.domain.com/page.php
). - Сделайте # 1, включая дополнительную информацию о пути (например, запрос
my.domain.com/page/path/stuff/here
соответствуетmy.domain.com/page.php/path/stuff/here
).
Я узнал, как сделать # 1, добавив следующую строку в файл .htaccess:
# Allow PHP files without ".php" extension.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)/?$ /$1.php [L,QSA]
Однако, сейчас я хотел бы изменить RewriteRule так работает # 2 ,
Это то же самое, что и у OP, кроме 'NC, L'. Всегда добавляйте объяснения к своему ответу (что означает 'NC, L'?). – DanFromGermany
Вид, но не совсем. Regex's разные. Также: [L = Last] (http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_l) [NC = nocase] (http://httpd.apache.org/docs/2.2/ переписывание/flags.html # flag_nc). – jassok
К сожалению, это не так. Но, чтобы ответить на вопрос jassok, это способ сделать HTTP-запрос более конкретным. Вы можете захватить данные из pathinfo, чтобы точно определить, какую функцию выполнять, и, следовательно, какие данные вы ожидаете в строке запроса или данных формы, и какой контент должен возвращаться. Таким образом, вы можете написать один контроллер для нескольких связанных запросов. –