Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 重定向";mydomain.com/user“;至;mydomain.com/name.php?id=user";_Url_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Url 重定向";mydomain.com/user“;至;mydomain.com/name.php?id=user";

Url 重定向";mydomain.com/user“;至;mydomain.com/name.php?id=user";,url,.htaccess,mod-rewrite,redirect,Url,.htaccess,Mod Rewrite,Redirect,我想我可以使用.htaccess文件来实现这一点,但我已经查找了它,没有发现任何有用的东西。我想做的是,当用户在URL中键入用户名时,将我的站点重定向到php页面,如: example.com/username 并使其与PHP页面相同,如: example.com/name.php?id=username 我希望它在重定向后仍显示为example.com/username,但这不是必需的。有什么想法吗?您可能想要Apache的。您可能想要Apache的。您可以使用它在服务器上透明地重写URL

我想我可以使用.htaccess文件来实现这一点,但我已经查找了它,没有发现任何有用的东西。我想做的是,当用户在URL中键入用户名时,将我的站点重定向到php页面,如:

example.com/username
并使其与PHP页面相同,如:

example.com/name.php?id=username

我希望它在重定向后仍显示为
example.com/username
,但这不是必需的。有什么想法吗?

您可能想要Apache的。

您可能想要Apache的。

您可以使用它在服务器上透明地重写URL

假设您的域后面只有用户名,这样做可以满足您的需要:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ name.php?id=$0
您可以使用在服务器上透明地重写URL

假设您的域后面只有用户名,这样做可以满足您的需要:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ name.php?id=$0
我想那会管用的

Apache mod_重写指南在这里

我想那会管用的

Apache mod_重写指南在这里

您不需要波浪线,因为您已经指示mod_rewrite仅在请求不是真正的目录或文件时应用规则(请参阅rewrite规则上方的两个RewriteCond)。哦,是的。我是url重写新手:)你不需要波浪线,因为你已经指示mod_rewrite仅在请求不是真正的目录或文件时应用规则(请参阅重写规则上方的两个重写秒)。哦,是的。我在url重写方面是新手:)您可能想添加
RewriteCond%{REQUEST\u FILENAME}-d
,所以目录也不会被重写。@Voncorad你似乎知道你在说什么,而我对编辑.htaccess文件完全是新手。。。你认为这些例子中哪一个更好?谢谢你的帮助help@vonconrad-是的,为了简洁起见,我排除了它,但是在不知道OP的情况下,包含它可能更安全。“我将修改规则集。”正如乔纳·布隆所说,在这一点上,它们实际上是一样的。两者都能完成任务。我看他们现在看起来差不多了,但在最后一行我看到了一些不同。。。[五十] (.+)/.+和$1/$0有人能解释一下这些区别是什么意思吗?您可能想添加
RewriteCond%{REQUEST_FILENAME}-d
,所以目录也不会被重写。@Voncorad你似乎知道你在说什么,而我对编辑.htaccess文件完全是新手。。。你认为这些例子中哪一个更好?谢谢你的帮助help@vonconrad-是的,为了简洁起见,我排除了它,但是在不知道OP的情况下,包含它可能更安全。“我将修改规则集。”正如乔纳·布隆所说,在这一点上,它们实际上是一样的。两者都能完成任务。我看他们现在看起来差不多了,但在最后一行我看到了一些不同。。。[五十] 有人能解释一下这些区别是什么意思吗?