我想以两种不同的方式处理我的图片网址。 首先,当浏览器要求: http://example.com/image.jpg(需要显示)
其次,当浏览器要求: http://example.org/image.jpg?actionId=123(需要将URL重写为index.php?actionId = 123)
关键是,当URL有指定变量时,我们需要使用该变量及其值重定向到index.php。
我正在使用带有mod_rewrite的.htaccess,现在是以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [QSA]
</IfModule>
所以它检查现有文件或目录,任何其他方式,它都传递给'q'参数中的index.php。
提前谢谢!
答案 0 :(得分:0)
对于第一个示例,您不需要执行任何操作,将显示图像(如果存在)。因此,您只需要考虑查询字符串的情况:
RewriteEngine On
RewriteCond %{QUERY_STRING} actionId=([^&]+)
RewriteRule \.jpg$ index.php?actionId=%1 [L]
如果还有其他参数需要传递给index.php
,那么只需执行重写即可,因为默认情况下会发送查询字符串。确保使用QSA
标志:
RewriteEngine On
RewriteCond %{QUERY_STRING} actionId=([^&]+)
RewriteRule \.jpg$ index.php [QSA,L]