我有一个非常简单的重写规则。我希望URL中的第二个参数是可选的,但是当我必须在URL中传递它时:
RewriteEngine On
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L]
我有URL / signup / PARAMETER / OPTIONAL-PARAMETER /
如果我关闭第二个参数,如何才能使网址正常工作?
乔
答案 0 :(得分:1)
只需在其后添加一个参数重写:
RewriteEngine On
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L]
# single parameter
RewriteRule ^signup/([^/]*)/$ /signup/index.php?e=$1 [L]
答案 1 :(得分:0)
我使用了这个问题的答案htacess and two post parameters ....感谢aeshabana提示!
我还需要在URLS中添加一个斜杠,所以这是我的最终.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]