我有以下.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ users.php?q=$1 [QSA,L]
但是,如果我进入我网站的任何页面,脚本会显示错误:
未捕获的SyntaxError:意外的标记<
发生此错误是因为在脚本文件中,内容被HTML代码替换,我不知道原因。
如果我输入https://somesite.com/Alex/
工作正常,如果我输入https://somesite.com/users.php?q=Alex
也可以,但是,我希望当我访问https://somesite.com/users.php?q=Alex
时将网址替换为https://somesite.com/Alex/
那么,如何解决错误并将其发挥作用呢?
答案 0 :(得分:1)
使用此规则:
RewriteEngine On
RewriteCond %{THE_REQUEST} /users\.php\?q=([^&\s]+) [NC]
RewriteRule ^ %1? [NC,R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ users.php?q=$1 [NC,QSA,L]
在Apache 2.4上测试
答案 1 :(得分:1)
在这里,简短而甜蜜......
RewriteEngine On
RewriteRule ^([.*]+)/$ users.php?q=$1 [QSA,L]
希望这有帮助。