我有一个非常简单的重写规则。我希望 URL 中的第二个参数是可选的,但目前我必须在 URL 中传递它:
RewriteEngine On
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L]
我有 URL /signup/PARAMETER/OPTIONAL-PARAMETER/
如果我关闭第二个参数,如何使 url 工作?
乔
只需在其后添加一个参数重写:
RewriteEngine On
RewriteRule ^signup/([^/]*)/([^/]*)/$ /signup/index.php?e=$1&s=$2 [L]
# single parameter
RewriteRule ^signup/([^/]*)/$ /signup/index.php?e=$1 [L]
我使用了这个问题的答案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]