0
我繼承了一個.htaccess文件有一個極其複雜的mod_rewrite的規則,大約有100行有很多重複的多是這樣的:使用變量來簡化在.htaccess文件中的mod_rewrite規則
RewriteCond %{REQUEST_URI} !^/(test|dev|((current|archive|all|2x|19|20|21|22|23|24|25|26|27)/([a-z]{2}|pt_br)))/favicon.ico
RewriteCond %{REQUEST_URI} !^/(test|dev|((current|archive|all|2x|19|20|21|22|23|24|25|26|27)/([a-z]{2}|pt_br)))/robots.txt
RewriteRule ^(test|dev|((current|archive|all|2x|19|20|21|22|23|24|25|26|27)/([a-z]{2}|pt_br)))/(.*) /index.php?title=$5 [L,QSA,S=1]
(請注意,規則確實有細微的差異,但並不完全相同,但它們之間的組成部分是一致的。)
我想使用變量來使這些規則更易於維護,這可能嗎?這個僞示例的行很長:
# define variables
versions=(current|archive|all|2x|19|20|21|22|23|24|25|26|27)
languages=(current|archive|all|2x|19|20|21|22|23|24|25|26|27)
# body of rules
RewriteCond %{REQUEST_URI} !^/(test|dev|($versions/$languages))/favicon.ico
RewriteCond %{REQUEST_URI} !^/(test|dev|($versions/$languages))/robots.txt
RewriteRule ^(test|dev|($versions/$languages)/(.*) /index.php?title=$5 [L,QSA,S=1]