htaccess mod_rewrite url 的一部分到 GET 变量

2021-12-21 00:00:00 php .htaccess apache mod-rewrite

我有一些这样的网址:

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

如何借助 Apache mod_rewrite 打开下一页?

How can I with help of Apache mod_rewrite open the next pages?

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

此外,这个新的重写规则是否适用于一个入口点重写"?

Also, will be this new rewrite rule work with "one entry point rewriting"?

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

谢谢.

推荐答案

要使新的重写规则与一个入口点重写"配合使用,请让您的 rewriteRules 像这样:

To make the new rewrite rule work with "one entry point rewriting", have your rewriteRules like this:

当您添加新的查询字符串时,QSA 标志是强制.

The QSA flag is mandatory as you are adding a new query string.

RewriteEngine On

RewriteRule ^(post)/([wd-]+)/?$ $1/main?title=$2 [QSA]

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

  • 标记QSA Apache文档.
  • !-l 检查请求的 URI 是否不是符号墨水.
    • Flag QSA Apache Docs.
    • !-l checks that the requested URI is not a symbolic ink.

相关文章