将具有目录结构的动态子域重定向到单个文件

问题描述 投票:0回答:1

我有一个域名与通配符DNS活动。我想在htaccess中写的是,当用户键入abc.domain.com/news/news-details.php时,它应该发送请求到文件news.php,参数val = abc。我在htaccess中有以下代码:

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com
RewriteCond %{REQUEST_URI} ^news/news-details\.php$
#RewriteCond %{QUERY_STRING} !^id=.
RewriteRule (.*) /news.php?div=%1 [L]

但是这会引发404错误。核心部分是以下两行来解释

请求www.domain.com/news/news-details.phpwww.domain.com/news.phpabc.domain.com/news/news-details.phpwww.domain.com/news.php?val=abc请注意,我没有重定向。网址将显示为动态子域。实际上没有文件夹。所有文件都位于根目录中。

.htaccess url-rewriting subdomain wildcard-subdomain
1个回答
0
投票
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com [NC]
RewriteCond %{HTTP_HOST) !^www\.
RewriteRule ^news/news-details.php$ /news.php?div=%1 [NC,QSA,L]
© www.soinside.com 2019 - 2024. All rights reserved.