0

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

我的网络应用程序将使用 3 种当前具有这些 URL 的页面:

  • 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。

我怎样才能做到这一点?

提前致谢 :)

4

2 回答 2

0

最好有 3 个 URL 方案:

  1. url.com/user/name
  2. url.com/page/name
  3. url.com/dashboard/name

如果这是可以接受的,那么您需要启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_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]
于 2013-06-18T15:46:13.480 回答
0

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

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

完整信息可在此处获得

于 2013-06-18T15:40:58.300 回答