我有一些这样的网址:
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]
感谢。
答案 0 :(得分:3)
你可以在你的.htaccess中使用这样的东西:
RewriteRule ^post/(.*)$ post/main?title=$1 [L]
您应该在一个入口点重写规则之前保留此规则。如果规则将触发,则将完成重写规则查找(因为指定了[L]选项)
如果要在VirtualHost上下文中使用这些规则,可能需要对路径进行一些修改
答案 1 :(得分:3)
要使新的重写规则适用于“一个入口点重写”,请让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是否为符号墨水。