【发布时间】:2015-12-05 03:24:58
【问题描述】:
如果传递了某个GET 参数,有没有办法在.htacess 中制定不同的重写规则?
例如,如果查询字符串是:
htttp://domain.com/?debug=1,比.htaccess 应该看起来像:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
如果查询字符串中没有debug=1,则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|flv|xml)$ index.php?$1 [QSA,L]
【问题讨论】:
-
你有什么问题?
-
@Starkeen 我问过是否有可能实现我帖子中描述的构造。实际上,我的第一句话是一个问题。我再重复一遍:有没有办法根据请求 GET 参数制定不同的重写规则。
-
你的意思是如果url中有查询字符串那么它应该重写为index.php否则app/webroot/?
-
是的,类似的。
标签: apache .htaccess mod-rewrite url-rewriting