Codeigniter перезаписывает строки запроса следующим образом:
http://somedomain.com/index.php?q=something
стать:
http://somedomain.com/index.php/q/something
Я хотел бы имитировать это поведение на (очень) легком веб-сайте, который я разрабатываю для системы RSVP на свадьбу. Я не хочу раздувания codeigniter, и мне не нужно ничего, что он предоставляет. Единственное, что мне нужно, это вот это.
К сожалению, я не знаю, как настроить правило перезаписи мода, которое позволяет это сделать. Я могу установить правило, которое переводит /q/something
в ?q=something
, но я не могу найти такой, который бы делал это без изменения URL-адреса, просматриваемого пользователем.
Я в основном ищу что-то, что по сути является "тихой" версией перезаписи. То есть я хочу что-то, что переписывает q/something
к ?q=something
, но оставляет URL-адрес пользователя в адресной строке как q/something
.
Заранее спасибо!
РЕДАКТИРОВАТЬ
В файле .htaccess для сайта у меня есть следующее:
RewriteEngine on
RewriteRule ^/index.php/q/(.*) /index.php?q=$1
В базовой конфигурации для сайта (/etc/apache2/sites-available/mysite.conf) у меня есть:
<VirtualHost *>
ServerAdmin me@email.com
ServerName www.mysite.com
DocumentRoot /var/www/www.mysite.com
Options -Indexes +FollowSymLinks
</VirtualHost>
Файл index.php в настоящее время просто распечатывает значение $_GET['q']
. Теперь, когда я захожу на сайт http://www.mysite.com/index.php?q=12345
, как и ожидалось, отображается «12345». Но когда я перехожу к http://www.mysite.com/index.php/q/12345
, он ничего не отображает. Или, скорее, кажется, что значение строки запроса пусто. Я не совсем уверен, что делаю неправильно.