重写URL .htaccess,mod_rewrite - "找不到目录"

时间:2012-06-24 18:32:14

标签: php .htaccess mod-rewrite

我正在重写网址,以便我的会员网页 - domain.com/profile.php?id=123成为domain.com/user/John

如果有人试图访问domain.com/user,则网络浏览器会显示找不到目录。有没有办法使这个目录“真实”,而无需添加文件夹和索引文件?在.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]

3 个答案:

答案 0 :(得分:2)

您是否在您的网址中将http://放在“domain.com”之前?

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

答案 1 :(得分:2)

  
    

“如果用户/在没有用户名的情况下提交,应该呈现什么?”

  
     

真的没关系。回到root我想。

然后专门为此写一条规则:

RewriteRule ^user/?$ / [L]

答案 2 :(得分:0)

你的帖子已经有一年了,但是你已经救了我三天我一直在寻找一个解决方案,为什么它不会读取我的斜线而不是它可以读取任何其他角色 你在用户/“文件夹”上获得404,因为你没有适用于它的规则而没有用户名... - poncha 12年6月24日在18:41 谢谢Poncha和Jon Lin