我在HTACCESS for Custom PHP Website中使用下面的代码块。当我在脚本上回显p1变量时,我得到的值如下:
相册/混合主-38
而p1的值应仅为
专辑
当我将p2值显示为空白时,p2值的值应为
混合主-38
htaccess的
Options +FollowSymlinks
## Mod_rewrite in use.
RewriteEngine on
## Prevent Directory Listing
IndexIgnore *
# ---- Make pages render without their extension in the url
Options +MultiViews
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5 [L]
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./index.php?p1=$1&p2=$2&p3=$3&p4=$4 [L]
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./index.php?p1=$1&p2=$2&p3=$3 [L]
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./index.php?p1=$1&p2=$2 [L]
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./index.php?p1=$1 [L]
答案 0 :(得分:1)
正则表达式开头的.*
与相册部分匹配。要单独捕获它,您可以将其放在括号中,这样您就可以:^((.*)/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$
请注意,此更改会改变偏移量,因此您可能希望更改$ 1 - > 2美元等等,或者使外部括号不被捕获。