以下重写将以数字 4 开头的字符串作为变量传递给 process.php :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(4[^/]*)$ /process.php?variable=$1 [L]
So this
http://www.domain.com/4shopping
被映射到
http://www.domain.com/process.php?variable=4shopping
但我想扩展最后一个重写规则,基本上是这样的:
if word begins with 4, map to /process.php?variable=$1
else map to /index.php
该声明的第二(其他)部分是基本的 WordPress 重写规则。例如:
http://www.domain.com/shopping
没有 4 的将被定向到
http://www.domain.com/index.php?shopping (I believe this is how WordPress permalinks work!)
尝试这个:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(4[^/]*)$ process.php?variable=$1 [L]
RewriteRule ^([^4/][^/]*)$ index.php?$1 [L]
第一个规则将捕获任何可以映射到现有文件或目录的请求,并将结束重写过程。第二条规则是你的(没有RewriteCond
状况)。第三条规则将捕获 URL 路径不以数字开头的任何请求4
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)