Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess将子文件夹重写为GET变量的规则_Php_.htaccess_Redirect_Mod Rewrite - Fatal编程技术网

Php htaccess将子文件夹重写为GET变量的规则

Php htaccess将子文件夹重写为GET变量的规则,php,.htaccess,redirect,mod-rewrite,Php,.htaccess,Redirect,Mod Rewrite,我对htaccess不是很有经验。今天我写一个.htaccess重写url失败了 我想要的是: 我的项目托管在子域上,例如sub.domain.com 我的htaccess应该管理: sub.domain.com应该重定向到www.domain.com(很清楚,重定向301) 子文件夹应作为GET变量放置,例如sub.domain.com/test到www.domain.com?var=test 不应重定向子文件夹/admin 提前谢谢你的提示 这应该能帮到你: RewriteEngine on

我对htaccess不是很有经验。今天我写一个.htaccess重写url失败了

我想要的是: 我的项目托管在子域上,例如sub.domain.com

我的htaccess应该管理:

  • sub.domain.com
    应该重定向到
    www.domain.com
    (很清楚,重定向301)
  • 子文件夹应作为GET变量放置,例如
    sub.domain.com/test
    www.domain.com?var=test
  • 不应重定向子文件夹
    /admin

  • 提前谢谢你的提示

    这应该能帮到你:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} =sub.example.com
    # Following condition added to support changed requirement, see comments
    RewriteCond %{QUERY_STRING} !(?:^|&)var=
    RewriteCond %{REQUEST_URI} !^/admin/
    RewriteRule ^(.*)$ http://www.example.com/?var=$1 [R=301,L]
    

    这将删除原始请求中的任何查询字符串。如果要保留任何查询字符串,只需将“var=…”附加到其中,然后将
    QSA
    添加到最后一行末尾的标志中,并用逗号分隔。

    谢谢@SuperDuperApps在重定向工作结束时,但是有一件事:请求似乎多次重定向,url看起来像sub.example.com/?var=&var=&var=&var=&var=&var=&var=&var=&var=&var=&var=&var=&var=something欢迎您Stefan。请考虑接受我的答案,用它左上角的记号来回答问题,我回答了一个问题:“欢迎到堆栈溢出:”有一件事如上所述。RewriteCond%{HTTP_HOST}=sub.domain.com RewriteCond%{REQUEST_URI}上的RewriteEngine^/admin/RewriteRule^$\/(.*)$?e=$1[QSA,R=301,L]导致如下结果:/?e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=&e=val页面似乎重定向了多次。。。(很抱歉打扰您:))您更改了规则,您说应该从sub重定向到www,然后删除了该规则。我添加了一个条件来检查查询字符串中的var,这将阻止循环。您还更改了规则匹配,我看不出它如何能够匹配任何内容。