PHP*_*VER 9 .htaccess mod-rewrite friendly-url url-rewriting
我基本上尝试过下面的mode_rewrite规则.它最后使用斜杠,但是我想让它工作,无论它是否有一个尾部斜杠.基本上我希望它像这样,因为有些人认为它是正常的,最后有一个斜线而其他人不这样做,因此我希望它能够工作,无论它是否存在.
RewriteRule ^signup/register(.[^/]*) /signup/register.php [NC]
Run Code Online (Sandbox Code Playgroud)
基本上它会工作,http://localhost/signup/register/但如果我从最后删除/它会给出404错误.
Gum*_*mbo 20
子模式.[^/]*至少需要一个任意字符.在你的情况下,它可能是斜杠.
你应该更好地坚持一个写作(有或没有尾随斜线)并将错误的写入重定向到正确的,如:
# remove trailing slash
RewriteRule ^(.*)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]
Run Code Online (Sandbox Code Playgroud)
普通的旧正则表达式:
RewriteRule ^signup/register/?$ /signup/register.php [NC]
Run Code Online (Sandbox Code Playgroud)
...
RewriteRule ^(url-rewrite)/?$ page.php [NC]
...
Run Code Online (Sandbox Code Playgroud)
这 ?after / 指定在您的 url 重写之后不能有或有一个 /,因此无论有或没有尾随 /,它都会接受它