我遇到了这个我无法弄清楚的问题,我想使用mod_rewrite来执行以下操作:
http://localhost/The+Beatles
到
http://localhost/artist.php?a=The+Beatles
我已尝试在这里和其他网站上关注一些示例,并根据我的需求进行测试我想出了以下内容但它不起作用:
RewriteEngine on
RewriteRule ^(.*) artist.php?a=$1
似乎将一个变量设置为artist.php,我似乎无法弄明白?希望有人可以提供帮助。
戴夫
答案 0 :(得分:1)
你可以尝试这套规则(改编自一个vanilla Zend Framework项目)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [L]
RewriteRule ^(.*)$ artist.php?a=$1 [L,QSA]
这会将对不存在文件的请求重写为artists.php
脚本,同时仅保留对图像,样式表,JavaScript等的正常请求。
在artist.php
脚本中,您只需通过$_GET['a']
变量访问原始请求。