.htaccess具有1或2个GET参数

时间:2013-01-18 08:57:03

标签: php .htaccess

我想在.htaccess中添加一些元素:

  • 我希望所有PHP文件都可以通过访问/index而无需放入.php

我用过:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
  • 我有一个index.php页面,有时会有1个GET参数,有时还有2个:

    • www.domain.com/?first=data
    • www.domain.com/?first=data&second=data2

我用过:

RewriteRule ^(.*)/(.*)$ index.php?id=$1&p=$2
RewriteRule ^(.*)$  index.php?id=$1 [L]

但是只有拥有2个元素才有效;如果我只使用第一个参数的链接,我会得到一个错误页面。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

希望它有所帮助:

Options +SymLinksIfOwnerMatch

RewriteEngine on

RewriteRule ^([a-zA-Z-]+)$ index.php?action=$1 [NC,L]

RewriteRule ^(member)-([0-9-]+)$ index.php?action=member&id=$2 [NC,L]

RewriteRule ^([a-zA-Z-]+)/([a-zA-Z-]+)-([0-9-]+)$ index.php?action=$1&saction=$2&sid=$3 [NC,L]

RewriteRule ^([a-zA-Z-]+)/([0-9-]+)$ index.php?action=$1&id=$2 [NC,L]

RewriteRule ^([0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/(.*).html$ index.php?action=details&id=$1&p1=$2&p2=$3&p3=$4 [NC,L]