提问者:小点点

将Dbname改写为公共子文件夹的规则


有人能帮我为Apache重写以下内容吗?我想要的结果是:

domain.com/(DB用户名所属的登陆搜索页)

domain.com/db1/(用于db1的索引登录页,其中db1可以是任何其他db名称)

domain.com/db1/accounts/(登录后)

domain.com/db1/admin/(登录后的另一个页面)

请帮助我使用URL重写如果可能的话...

我有这样的东西,但它不起作用:

`Options+FollowSymLinks

重写引擎打开

RewriteRule/(.*)/$/index.php?DBNAME=$1

RewriteRule/(.*)/Account/$/Account.php?DBNAME=$1`

谢谢

向约翰致意


共1个答案

匿名用户

避免重写对/的调用

只需在索引或任何其他页面中显示登录表单。

然后

此块告诉服务器允许重写,保留现有的文件和目录,只重写不“存在”的内容,并且您将从/

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /

那么你的规则

RewriteRule ^db([0-9]+)$            index.php?dbname=$1&%{QUERY_STRING}    [L]
RewriteRule ^db([0-9]+)/account$    index.php?admin=$1&%{QUERY_STRING}     [L]
RewriteRule ^db([0-9]+)/admin$      index.php?admin=$1&%{QUERY_STRING}     [L]

这是假设在登录后,您将把他发送到

https://www.yoursite.com/db1 
https://www.yoursite.com/db1/account 
https://www.yoursite.com/db1/admin 

例如: