1

我有一个非常简单的重写规则。我希望 URL 中的第二个参数是可选的,但目前我必须在 URL 中传递它:

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

我有 URL /signup/PARAMETER/OPTIONAL-PARAMETER/

如果我关闭第二个参数,如何使 url 工作?

4

2 回答 2

1

只需在其后添加一个参数重写:

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

# single parameter
RewriteRule ^signup/([^/]*)/$ /signup/index.php?e=$1 [L]
于 2013-02-23T23:12:55.423 回答
0

我使用了这个问题的答案htacess 和两个帖子参数....感谢 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]
于 2013-02-24T17:37:06.373 回答