2013-02-23 69 views
1

我有一个非常简单的重写规则。我想在URL的第二个参数是可选的,但因为它代表的那一刻我必须将它传递的网址:htaccess可选参数

RewriteEngine On 
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L] 

我的网址/注册/参数/可选参数/

如何让网址工作,如果我离开第二个参数关闭?

+1

对于一个很好的例子在 http://stackoverflow.com/questions张贴在stackoverflow.com/11617183/htacess-和双柱参数 – aeshabana 2013-02-23 19:49:18

回答

1

后,只需添加一个参数改写:

RewriteEngine On 
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L] 

# single parameter 
RewriteRule ^signup/([^/]*)/$ /signup/index.php?e=$1 [L] 
0

我使用的回答这个问题htacess and two post parameters ....感谢aeshabana的小费!

我还需要一个斜线添加到URL,这样这里是我最后的.htaccess

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] 

RewriteRule %{REQUEST_FILENAME} !-d 
RewriteRule %{REQUEST_FILENAME} !-f 
RewriteRule ^signup/(.+)/$ /signup/index.php?uri=$1 [QSA,L]