Apache 如何使用htaccess从子域中删除查询字符串?

Apache 如何使用htaccess从子域中删除查询字符串?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个域(example.com),我为这个域创建了一个子域(sub.example)。 我在子域控制器的“dir”文件夹中有php文件。 我需要更改url http://sub.example.com/dir/view.php?id=10 到 我该怎么做? 我将.htaccess文件放在哪里 我开始访问 请帮帮我 RewriteEngine On RewriteCond %{HTTP_HOST} ^sub.example.com$ [NC] 在root.htaccess中,您可以使用以下

我有一个域(example.com),我为这个域创建了一个子域(sub.example)。 我在子域控制器的“dir”文件夹中有php文件。 我需要更改url

http://sub.example.com/dir/view.php?id=10

我该怎么做? 我将.htaccess文件放在哪里

我开始访问 请帮帮我

RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub.example.com$ [NC]

在root.htaccess中,您可以使用以下规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [NC]
RewriteRule ^(\w+)/(.+?\.php)/(\w+)/(\w+)/?$ $1/$2?$3=$4 [L,NC,QSA]

此htaccess位于何处?您的文档\u子域的根路径是什么?我的子域位于公共\u html中的目录“test”中。现在我把htaccess文件放在public\u htmlIf子域指向
public\u html/test/
那么htaccess只能放在那里。另外,我相信
dir
public\u html/test/
的子目录。placein test仍然没有在$\u get数组中获取get值。但是我在$\u服务器中获得了完整的url。我将从中解析。非常感谢。这条规则在我的Apache上也适用。您只需要确保它被放置在正确的htaccess中,并且htaccess正在工作。
RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [NC]
RewriteRule ^(\w+)/(.+?\.php)/(\w+)/(\w+)/?$ $1/$2?$3=$4 [L,NC,QSA]