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

时间:2015-10-02 11:33:02

标签: php .htaccess rewrite rules

有人可以帮我解决Apache的以下重写问题 我希望结果如下:

  

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

     

domain.com/db1/(对于db1的索引登录页面,其中db1可以是任何其他数据库名称)

     

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

     

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

如果有可能,请帮我url re-write ......

我有类似的东西,但它不起作用:

`Options + FollowSymLinks

上的RewriteEngine

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

RewriteRule /(.*)/account/$ /account.php?dbname=$1 `

谢谢

此致 约翰

1 个答案:

答案 0 :(得分: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 
例如