Apache .htaccess使用多个规则重写
我需要更新我的.htaccess来处理以下格式的URL重写 重写此url: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
/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]