我基本上尝试过下面的mode_rewrite规则。它最后使用斜杠,但是我想让它工作,无论它是否有一个尾部斜杠。基本上我希望它像这样,因为有些人认为它是正常的,最后有一个斜线,而其他人不这样做,因此无论它是否存在,我都希望它能够工作。
RewriteRule ^signup/register(.[^/]*) /signup/register.php [NC]
基本上它会像http://localhost/signup/register/
一样工作,但如果我从最后删除 / ,则会出现404错误。
答案 0 :(得分:20)
子模式.[^/]*
至少需要一个任意字符。在你的情况下,它可能是斜杠。
你应该更好地坚持一次写作(有或没有尾随斜线)并将错误的写入重定向到正确的,如:
# remove trailing slash
RewriteRule ^(.*)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]
答案 1 :(得分:8)
RewriteRule ^signup/register/?$ /signup/register.php [NC]