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
.htaccess重写规则问题_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess重写规则问题

.htaccess重写规则问题,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,此重写规则仅在尝试时重写level.php localhost/a/b/115-aaa.html将所有请求发送到level.php,但 localhost/a/b/正在工作 为什么? 如果您的第一条规则匹配,它将转到page.php?page=foo&a=bar&b=123。这将第二次与您的规则匹配,第二次规则匹配。可以通过在.htacces文件中添加以下行来避免这种情况 RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/

此重写规则仅在尝试时重写level.php localhost/a/b/115-aaa.html将所有请求发送到level.php,但 localhost/a/b/正在工作

为什么?


如果您的第一条规则匹配,它将转到page.php?page=foo&a=bar&b=123。这将第二次与您的规则匹配,第二次规则匹配。可以通过在.htacces文件中添加以下行来避免这种情况

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/([0-9]+)\-([a-zA-Z0-9]+)\.html$ page.php?page=$1&a=$2&b=$3 [L]
#Prevent the last rule to be applied to page.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ level.php?q=$1 [L]
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/([0-9]+)\-([a-zA-Z0-9]+)\.html$ page.php?page=$1&a=$2&b=$3 [L]
#Prevent the last rule to be applied to page.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ level.php?q=$1 [L]