gpt4 book ai didi

.htaccess - 通配符子域和子文件夹作为 .htaccess 中的参数

转载 作者:行者123 更新时间:2023-12-02 04:58:56 26 4
gpt4 key购买 nike

我有一个门户网站 http://www.mysite.com/客户注册的地方,他们会得到自己的网站子域版本来运行我的应用程序。我已经设置了通配符子域 DNS/VirtualHost 等并使其正常工作。

我正在尝试设置的是我的 htaccess 文件,以将通配符子域作为参数传递给应用程序,如下所示:

http://wildcardsubdomain.mysite.com/ -> http://www.mysite.com/app/?dj=wildcardsubdomain
http://wildcardsubdomain.mysite.com/?l=genres -> http://www.mysite.com/app/?dj=wildcardsubdomain&l=genres

我通过将其放入 http://www.mysite.com/ 中的 .htaccess 文件中来完成此操作

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mysite.com
RewriteCond %{HTTP_HOST} ^(.+).mysite.com
RewriteRule ^([^/]*)$ http://www.mysite.com/app/dj/%1 [P,L]

但我需要按如下方式重定向管理员用户 URL,并且我一直无法使用 htaccess 代码在/app 目录中使用。我需要的是:

http://wildcardsubdomain.mysite.com/admin/?l=genres -> http://www.mysite.com/app/admin.php?dj=wildcardsubdomain&l=genres
http://wildcardsubdomain.mysite.com/admin/?l=users -> http://www.mysite.com/app/admin.php?dj=wildcardsubdomain&l=users

(l参数各不相同,我这里只是以users和genres为例)

我已经在/app/.htaccess 中尝试过这个,但它并没有真正起作用:

RewriteRule ^dj/([^/]+)/?$ $2?dj=$1 [QSA,L]
RewriteRule ^admin/([^/]+)/?$ admin.php$2?dj=$1 [QSA,L]

谁能提出更好的重写规则?非常感谢

最佳答案

您缺少 QSA 标志,否则 l=genres 会丢失。在其他规则之前,您只需要一个“管理”规则:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.mysite.com
RewriteCond %{HTTP_HOST} ^(.+).mysite.com
RewriteRule ^admin/?$ http://www.mysite.com/app/admin.php?dj=%1 [P,L,QSA]

RewriteCond %{HTTP_HOST} !^www\.mysite.com
RewriteCond %{HTTP_HOST} ^(.+).mysite.com
RewriteRule ^([^/]*)$ http://www.mysite.com/app/dj=%1 [P,L,QSA]

关于.htaccess - 通配符子域和子文件夹作为 .htaccess 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com