请有人帮忙吗? 我的.htaccess文件中具有以下配置:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我有这个用于重写网址
RewriteRule ^user([^/]*)\.php$ /folderA/folderB/user.php?var=$1 [L]
然后,我使用以下链接:
<a href="user/<?php echo $rows['user_id'];?>">users</a>.
我希望能够单击链接并在以下URL中显示用户:https:www.mywebsit.com/user/2
但是,当我单击链接时,它显示找不到文件。
我在做什么错? 非常感谢您的帮助。
答案 0 :(得分:1)
您的重写规则^user([^/]*)\.php$
对于users/id
是错误的。
我们将其分为三个部分:
^user
到目前为止,这是正确的,您要匹配用户前缀。
([^/]*)
可以,但是会失败,因为它不希望在用户之后出现斜线。此正则表达式表示您要捕获所有不是斜杠的字符。
\.php$
这是不正确的。期望后缀为.php,但是您不需要.php链接。
更正的版本为:^user/([^/]*)$
。请注意,我在用户之后添加了一个斜杠,并在最后删除了.php。
答案 1 :(得分:0)
您的重写规则不正确。
这是正确的:
RewriteRule ^/?user/([0-9]+)$ /folderA/folderB/user.php?var=$1 [L]