htaccess 检查是否为空查询字符串

som*_*nek 3 php apache .htaccess mod-rewrite

我的服务器上有以下情况:

/->
  news-> 
    .htaccess
    index.php
    post.php
...
Run Code Online (Sandbox Code Playgroud)

以及我的 .htaccess 中的以下规则:

RewriteRule    ^(.*)/admin          post.php?slug=$1&admin_mode=true            [NC,QSA,L]
RewriteRule    ^(.*)$               post.php?slug=$1                            [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)

现在我需要我的网址如下:

如果请求 www.mydomain.com/news/ -> 它应该得到 index.php 文件

如果请求 www.mydomain.com/friendly-title-of-my-article -> 它应该获取 post.php 文件,其中包含我的 .htaccess 中指示的查询字符串。

目前,我使用查询字符串正确获取了 post.php,但是当我访问 www.mydomain.com/news/ 时,它正在请求 post.php 文件。

请帮忙。谢谢

Nin*_*nju 5

用这个

#if query string is empty

RewriteCond %{QUERY_STRING} ^$

#match on / for root, or .index.php in request and send to query string version 

RewriteRule ^(/|index.php)?$ /index.php?step=1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)