Web应用程序的自定义.htaccess规则

时间:2013-06-18 15:26:41

标签: .htaccess mod-rewrite

好的,我正试图低估mod_rewrite但我最终总是对这一切感到困惑,所以我问是否有人可以帮我解决这个自定义规则。

我的网络应用将使用目前包含以下网址的3种网页:

  • url.com/index.php?user=name用于用户个人资料
  • url.com/index.php?page=name用于前端页面(关于,联系等等)
  • url.com/index.php?dash=name用于登录区域页面

但我希望前2个为url.com/name而第3个为url.com/dashboard/name

我想对于userpage,我首先要检查页面是否存在,然后检查用户名,如果不存在,则返回404.

我该怎么做?

提前致谢:)

2 个答案:

答案 0 :(得分:0)

这些类型的自定义规则是使用Regex定义的。

使用RewriteCond检查页面类型并相应地定义RewriteRule。

完整信息可用here

答案 1 :(得分:0)

你最好有3个URL方案:

  1. url.com/user/name
  2. url.com/page/name
  3. url.com/dashboard/name
  4. 如果可以接受,则需要通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /webapp/
    
    RewriteRule ^user/(.+?)/?$ index.php?user=$1 [L,QSA,NC]
    
    RewriteRule ^page/(.+?)/?$ index.php?PAGE=$1 [L,QSA,NC]
    
    RewriteRule ^dashboard/(.+?)/?$ index.php?dash=$1 [L,QSA,NC]
    
相关问题