Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
Apache htaccess重写不';我无法进行二级重写_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache htaccess重写不';我无法进行二级重写

Apache htaccess重写不';我无法进行二级重写,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我的.htaccess中有以下几行 Options +FollowSymlinks <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ seo.php?p=$1 [L] RewriteRule ^seo/site

我的.htaccess中有以下几行

Options +FollowSymlinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$                  seo.php?p=$1 [L]
RewriteRule ^seo/site:(.*)$         seo.php?p=seo&domain=/$1&status=seo [QSA]
RewriteRule ^seo/(.*)$              seo.php?p=seo&domain=/$1&status=seo [L]
RewriteRule ^admin/page:(.*)$       seo.php?p=admin&page=/$1 [L]
RewriteRule ^webagent/page:(.*)$    seo.php?p=webagent&page=/$1 [L]
RewriteRule ^setlang:(.*)$          seo.php?setlang=/$1 [L]
RewriteRule ^(.*)/setlang:(.*)$     seo.php?p=/$1&setlang=/$2 [L]
</IfModule>
Options+FollowSymlinks
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$seo.php?p=$1[L]
重写规则^seo/站点:(.*)$seo.php?p=seo&domain=/$1&status=seo[QSA]
重写规则^seo/(*)$seo.php?p=seo&domain=/$1&status=seo[L]
重写规则^admin/page:(.*)$seo.php?p=admin&page=/$1[L]
重写规则^webagent/page:(.*)$seo.php?p=webagent&page=/$1[L]
重写规则^setlang:(.*)$seo.php?setlang=/$1[L]
重写规则^(.*)/setlang:(.*)$seo.php?p=/$1&setlang=/$2[L]
问题是只有第一条规则是正常的。它从php中当前定义的文件夹中获取页面 当我试图打开

seo/domain.com

它不工作,但当我打开

php?p=seo&domain=domain.com&status=seo

效果很好


这个.htaccess文件出错的地方。

您的规则如下:

Options +FollowSymlinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^seo/site:(.*)$         seo.php?p=seo&domain=/$1&status=seo [L,QSA]
RewriteRule ^seo/(.*)$              seo.php?p=seo&domain=/$1&status=seo [L,QSA]
RewriteRule ^admin/page:(.*)$       seo.php?p=admin&page=/$1 [L,QSA]
RewriteRule ^webagent/page:(.*)$    seo.php?p=webagent&page=/$1 [L,QSA]
RewriteRule ^setlang:(.*)$          seo.php?setlang=/$1 [L,QSA]
RewriteRule ^(.*)/setlang:(.*)$     seo.php?p=/$1&setlang=/$2 [L,QSA]
RewriteRule ^(.*)$                  seo.php?p=$1 [L,QSA]

</IfModule>
Options+FollowSymlinks
重新启动发动机
重写基/
#从下面的重写规则中跳过所有文件和目录
RewriteCond%{REQUEST_FILENAME}-d[或]
RewriteCond%{REQUEST_FILENAME}-f
重写规则^-[L]
重写规则^seo/站点:(.*)$seo.php?p=seo&domain=/$1&status=seo[L,QSA]
重写规则^seo/(*)$seo.php?p=seo&domain=/$1&status=seo[L,QSA]
重写规则^admin/page:(.*)$seo.php?p=admin&page=/$1[L,QSA]
重写规则^webagent/page:(.*)$seo.php?p=webagent&page=/$1[L,QSA]
重写规则^setlang:(.*)$seo.php?setlang=/$1[L,QSA]
重写规则^(.*)/setlang:(.*)$seo.php?p=/$1&setlang=/$2[L,QSA]
重写规则^(.*)$seo.php?p=$1[L,QSA]

谢谢。完美