htaccess mod_rewrite часть URL-адреса для переменной GET

У меня есть некоторые URL-адреса, подобные этим:

  • http://plutov.by/post/cubique_zf_jquery
  • http://plutov.by/post/mysql_useful_queries

Как я могу с помощью Apache mod_rewrite открыть следующие страницы?

  • http://plutov.by/post/main?title=cubique_zf_jquery
  • http://plutov.by/post/main?title=mysql_useful_queries

Кроме того, будет ли это новое правило перезаписи работать с «переписыванием одной точки входа»?

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] 

Благодарю.

Чтобы заставить новое правило перезаписи работать с «переписыванием одной точки входа», rewriteRules следующие действия для rewriteRules :

Флаг QSA является обязательным при добавлении новой строки запроса.

 RewriteEngine On RewriteRule ^(post)/([\w\d\-]+)/?$ $1/main?title=$2 [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . index.php [L] 
  • Флаг QSA Apache Docs .
  • !-l проверяет, что запрошенный URI не является символическим чернилом.

Вы можете использовать что-то вроде этого в вашем .htaccess:

 RewriteRule ^post/(.*)$ post/main?title=$1 [L] 

Вы должны соблюдать это правило ПЕРЕД одним переписыванием правил ввода. Если правило будет срабатывать, то переписывание поиска правил будет завершено (поскольку указан параметр [L])

Некоторая модификация путей может потребоваться, если вы хотите использовать эти правила в контексте VirtualHost