Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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位于驻车域的子目录中_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php htaccess位于驻车域的子目录中

Php htaccess位于驻车域的子目录中,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,动机:我试图做的是使用停放的域并将其重定向到子目录。在子目录中,我有一个需要漂亮url的脚本,htaccess是我唯一可以使用的 main.htaccess中的代码 代码输入/m.htaceess RewriteEngine On RewriteBase / RewriteRule ^how/(.+)$ how.php?a=$1 RewriteCond %{HTTP_HOST} ^(www.)?main-example.com$ [NC] RewriteCond %{REQUEST_URI} ^

动机:我试图做的是使用停放的域并将其重定向到子目录。在子目录中,我有一个需要漂亮url的脚本,htaccess是我唯一可以使用的

main.htaccess中的代码

代码输入/m.htaceess

RewriteEngine On
RewriteBase /
RewriteRule ^how/(.+)$ how.php?a=$1
RewriteCond %{HTTP_HOST} ^(www.)?main-example.com$ [NC]
RewriteCond %{REQUEST_URI} ^/m/(.*)$
RewriteRule ^(.*)$ - [L,R=404]
我想要实现的是,当用户访问www.example.com/m/how/love时,脚本应该设置一个get变量,比如www.example.com/m/how.php?a=love,但url应该 保持美丽。
我当前的代码所做的是无限重定向到firebug中的/m/404.shtml giving 301。

您试图用这个语句做什么:RewriteCond%{REQUEST_URI}^/m/*$?http://www.example.com/m/404.shtml 匹配顶部代码块中的最后一条规则。我相信当您使用重定向代码时,它不会停止重写,而是重定向到同一页面。另外:@hjpotter92读取它前面的cond,这意味着在使用主域而不是驻车域查看目录时使用。然后它会抛出一个404。
RewriteEngine On
RewriteBase /
RewriteRule ^how/(.+)$ how.php?a=$1
RewriteCond %{HTTP_HOST} ^(www.)?main-example.com$ [NC]
RewriteCond %{REQUEST_URI} ^/m/(.*)$
RewriteRule ^(.*)$ - [L,R=404]