1

我正在重写 url,所以我的会员页面 - domain.com/profile.php?id=123 变为 domain.com/user/John

如果有人尝试访问 domain.com/user,Web 浏览器会显示找不到目录。有没有办法让这个目录“真实”,而不添加文件夹和索引文件?在 .htaccess 文件中?

当我调用一些脚本时,firebug 会警告我该目录也不存在。

这是重写规则和整个 .htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
</IfModule>

RewriteRule ^user/([^/\.]+)/?$ profile.php?username=$1 [L]
4

3 回答 3

2

您是否在您的 URL 中放置http://在“domain.com”之前?

如果您未指定协议,您的服务器将尝试查找文件路径。

于 2012-06-24T18:37:34.833 回答
2

“如果 user/ 提交后没有用户名,应该呈现什么?”

真的没关系。回根我猜。

然后专门为此编写规则:

RewriteRule ^user/?$ / [L]
于 2012-06-24T19:29:08.933 回答
0

你的帖子已经一年了,你仍然救了我,三天我一直在寻找一个解决方案,为什么它不会读取我的斜线,而是它可以读取任何其他字符你得到 404 用户/ “文件夹”,因为你没有任何规则适用于它后面没有用户名... – poncha 2012-06-24 18:41:47

于 2013-05-21T20:28:59.397 回答