这是我的.htaccess 文件:
RewriteEngine On
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^login login_reg.php [L] [NC]
RewriteRule ^(.+) redirect.php?shortcode=$1 [L] [NC]
我想要的是将“/login”和根“/”以外的任何内容重定向到redirect.php,并将request_url(斜杠后面的位)替换为短代码GET变量。
但是,上面的文件给了我一个错误:“页面没有正确重定向”
几个问题:
login
的模式也将匹配重写的login_reg.php
RewriteCond
仅适用于紧接着的下一个RewriteRule
,因此最后一条规则是无限重写所有内容。[...]
您可以在 .htaccess 中使用这些规则:
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^login/?$ login_reg.php [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+) redirect.php?shortcode=$1 [L,NC,QSA]