首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess rule..not能够解决

htaccess rule..not能够解决
EN

Stack Overflow用户
提问于 2012-10-24 23:15:30
回答 1查看 38关注 0票数 0

我正在努力让我的网站htaccess工作...但是不走运..

下面是代码

代码语言:javascript
复制
<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
   RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d 
   RewriteRule ^([^/]+)/?  /profile.php?username=$1 [L,NC]
 </IfModule>

这样做很好,没有问题..但是当我添加一些东西时,它将不起作用..在以下情况下-

1)例如,当我输入example.com/dinesh时,它会将我重定向到www.example.com (始终是主页,而不是我希望它是www.example.com/dinesh

2)现在我有了另一个有两个参数的users.php,当我传递一个参数时,它应该执行这个规则profile.php,但是当我传递两个参数时,它应该带我到user.php,我尝试了很多组合,但这都不起作用。

如果任何专家能给我至少一些技巧,那将是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2012-10-25 10:53:06

至于1),它可能与上述规则没有任何关系。如果/dinesh存在,您应该查看那里。如果它不存在,你应该查找/profile.php,这可能是将你重定向到主页的原因。

至于2),你的规则是:

代码语言:javascript
复制
RewriteRule ^([^/]+)/?  /profile.php?username=$1 [L,NC]

匹配URI:/something/else,因为正则表达式没有字符串结尾匹配。它与第一个something匹配,这已经足够好了。如果在末尾添加一个$,它将与/something/else不匹配。

代码语言:javascript
复制
RewriteRule ^([^/]+)/?$  /profile.php?username=$1 [L,NC]

或者,您可以将路由到user.php的另一个规则放在路由到配置文件的规则之前。但最好是有$

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13052171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档