大家好,我需要apache htaccess的帮助。我有这个2网址:
- 测试/en/guns2/贝雷塔/
- 测试/en/1564/振动-制动-m9a3/
我如何以不同的方式捕捉这两种情况?
实际上我有这个htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/test/admin[NC]
RewriteCond %{REQUEST_URI} !^/test/(it|en) [NC]
RewriteRule ^(.*)$ /test/en/$1 [R=301,L,QSA]
RewriteRule ^([w-]+)/([w-]+)/(d+)/([w-]*)$ /test/index.php?detMod=$3 [L,QSA,NC]
RewriteRule ^([w-]+)/([w-]+)/([w-]+)/([w-]*)$ /test/index.php?page=$2&category=$3 [L,QSA,NC]
但对于数字(1564(而不是(枪2(的情况,我需要另一条规则
使用d+
只匹配数字,使用[w-]+
匹配字母数字、_
和-
:
^([w-]+)/([w-]+)/(d+)/([w-]*)$
和
^([w-]+)/([w-]+)/([w-]+)/([w-]*)$
建议访问。htaccess:
RewriteCond %{REQUEST_URI} !^/test/admin[NC]
RewriteCond %{REQUEST_URI} !^/test/(it|en) [NC]
RewriteRule ^(.*)$ /test/en/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([w-]+)/([w-]+)/(d+)/([w-]*)$ test/index.php?detMod=$3 [L,QSA,NC]
RewriteRule ^([w-]+)/([w-]+)/([w-]+)/([w-]*)$ test/index.php?page=$2&category=$3 [L,QSA,NC]