Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 - Fatal编程技术网

Apache .htaccess使用多个规则重写

Apache .htaccess使用多个规则重写,apache,.htaccess,Apache,.htaccess,我需要更新我的.htaccess来处理以下格式的URL重写 重写此url: /score.php?state=FL&name=somename&id=123 到 /FL/somename事件/123事件 还有这个重写规则: /state.php?state=FL 到 /FL 我有以下内容,但会产生500错误: RewriteEngine On RewriteRule ^([^/]*)/([^/]*)/([^/]*)-event$ /score.php?state=$1&name=$2&a

我需要更新我的.htaccess来处理以下格式的URL重写

重写此url:
/score.php?state=FL&name=somename&id=123
/FL/somename事件/123事件

还有这个重写规则:
/state.php?state=FL
/FL

我有以下内容,但会产生500错误:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)-event$ /score.php?state=$1&name=$2&id=$3 [L]
RewriteRule ^([^/]*)$ /state.php?state=$1 [L]

使用
+
而不是
*
来匹配正则表达式中的1+个字符,并忽略重写规则中的所有文件和目录:

RewriteEngine On

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

RewriteRule ^([^/]+)/?$ state.php?state=$1 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/(\d+)-event$ score.php?state=$1&name=$2&id=$3 [L,QSA,NC]

使用
+
而不是
*
来匹配正则表达式中的1+个字符,并忽略重写规则中的所有文件和目录:

RewriteEngine On

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

RewriteRule ^([^/]+)/?$ state.php?state=$1 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/(\d+)-event$ score.php?state=$1&name=$2&id=$3 [L,QSA,NC]