RewriteRule来获取url的最后两个参数

时间:2012-09-18 09:23:45

标签: php .htaccess mod-rewrite

好的,所以我有这个.htaccess文件,它在base之后取第一个dir为$ 1,第二个为$ 2

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond $1 ^[^\.]+[^/]$
    RewriteRule (.*) http://%{HTTP_HOST}/$1/ [R=301,L]

    RewriteRule ^([^/]+)/([^/]+)/$ index.php?sub=$1&page=$2 [L]
    RewriteRule ^([^/]+)/$ index.php?sub=$1&page=$1 [L]

    #RewriteRule ^(.*)/(.*)$ index.php?sub=$1&page=$2 [L]
    #RewriteRule ^(.*)$      index.php?sub=$1&page=$1 [L]
</IfModule>

现在我们需要在子目录中的productionserver上测试这个网站。这会为url添加一个额外的目录

所以: hxxp://本地主机/ newwebsite / VAR1 / VAR2 /

有没有办法只获取网址的最后两个参数,或者我应该按照我们想要的方式推送它。 (不是真正的选择)

谢谢!

1 个答案:

答案 0 :(得分:0)

将htaccess文件放在newwebsite目录中,并将RewriteBase /更改为RewriteBase /newwebsite/