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

时间:2015-11-24 11:23:53

标签: php apache .htaccess mod-rewrite

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

/->
  news-> 
    .htaccess
    index.php
    post.php
...

我的.htaccess中有以下规则:

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

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

  

如果需要,请访问www.mydomain.com/news/ - >它应该得到index.php   文件

     

如果需要,请访问www.mydomain.com/friendly-title-of-my-article - >它   应该使用我的.htaccess中指示的查询字符串获取post.php文件。

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

请帮忙。感谢

2 个答案:

答案 0 :(得分:4)

使用此

#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]

答案 1 :(得分:1)

创建好路由的一种方法是让所有内容都转到一个index.php并控制其中的流量。它具有多种优势,例如能够查询数据库,然后决定要加载的页面。这可以很好地影响SEO。