Как мне создать mod_rewrite, который перенаправляет на launch.php?i=/the/url/that/they/want?
-
03-07-2019 - |
Вопрос
Итак, если пользователь вводит mydomain.com/панель мониторинга, документ, который сервер фактически отправляет им, /launch.php?i=/панель мониторинга.
Единственное предостережение: я хотел бы оставлять запросы на
- /флаги
- /люди
- /плакаты
- /css
- /значки
- /изображений
- /библиотеки
- /шаблоны
в одиночку, и они должны запросить настоящую папку.
Как мне создать такой mod_rewrite?
Решение
Это файл .htaccess для ТортPHP Рамки.
Пожалуйста, замените index.php и ?url= в соответствии с вашими потребностями.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
«!-d» указывает Apache следовать существующим папкам, а «!-f» — следовать существующим файлам.
Все остальное передается через index.php.
Как предложено в комментарии, вы должны знать, что если он не работает, это может быть связано с тем, что mod_rewrite не включен, и вы не получите сообщение об ошибке, подтверждающее этот факт, у вас, вероятно, будет только HTTP 404.