.htaccess无法在href链接上使用

时间:2018-06-20 23:05:35

标签: php .htaccess

请有人帮忙吗? 我的.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

但是,当我单击链接时,它显示找不到文件。

我在做什么错? 非常感谢您的帮助。

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]