我有以下要重写的URL列表:
1写入URL
/产品/
客户机
/
发送到
/basedir/system/index.php?客户=
顾客
2写入URL
/产品/
客户机
索引,PHP
发送到
/basedir/system/index.php?客户=
顾客
3写入URL
/产品/
客户机
/图片/dir2/myimage.jpg
发送到
/basedir/系统/图像/
客户机
/目录2/myimage.jpg
4写入URL
/产品/
客户机
/image/dir2/更多\u x \u dir/other.img
发送到
/basedir/系统/图像/
客户机
/dir2/更多\u x \u dir/other.img
根据这些规则,我或多或少地解决了第1点和第2点:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^product/([a-zA-Z]+)$ /basedir/system/index.php?client=base=$1 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)/$ /basedir/system/index.php?client=base=$1 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)/(.*)$ /basedir/system/index.php?client=$1 [L,QSA]
我的问题是在案例3和4中,当我使用css/image的/js文件时。而且当我有很多目录的时候,可能在很多目录的情况下,必须为每个人制定一个规则,但是我不知道怎么做。
非常感谢
编辑
我的解决方案基于接受的答案:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^product/([a-zA-Z]+)/(.*)\.(gif|jpg|ico|css|js|txt|zip|xls|doc)$ /basedir/system/$2.$3 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)$ /basedir/system/index.php?database=$1 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)/$ /basedir/system/index.php?database=$1 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)/index.php$ /basedir/system/index.php?database=$1 [L,QSA]
RewriteRule ^product/([a-zA-Z]+)/(.*)$ /basedir/system/$2?database=$1 [L,QSA]