Intereting Posts

.htaccess переписать все строки запроса через

В настоящее время я использую:

RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L] 

Это полезно для прохождения одной прокрутки.

Но есть ли способ пройти все перекрестки? т.е. запрос одной страницы может быть:

 domain.com/contact?course=23 

а другой может быть:

 domain.com/contact?workshop=41 

Поэтому мне нужно знать, что такое имя строки запроса, но только один из них будет передан одновременно

Если я правильно понял ваш вопрос, вы можете просто добавить флаг [QSA] (добавить строку запроса) в конец вашего RewriteRule

 RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L,QSA] 

Это обработает ваш запрос, как вы уже сделали, и добавьте дополнительные параметры querystring в конец.

Вот что я делаю.

RewriteRule ^((/?[^/]+)+/?)$ ?q=$1 [L]

Теперь вся часть после domain.com/ находится в $_GET['q'] в index.php . Например, если вы запрашиваете domain.com/articles/12 , q содержит articles/12 . Затем он тривиальный разбор его, например, с explode('/', $_GET['q']) .