我正试图了解重写规则。我已经使用了一些生成器和指南来尝试理解它是如何工作的,我得到的代码如下:
Options +FollowSymLinks
RewriteEngine on
RewriteRule view_image/img/(.*)/ view_image.php?img=$1
RewriteRule view_image/img/(.*) view_image.php?img=$1
我正在尝试重新指导: http://www.danielfew.uk/projects/file_upload/view_image.php?img=food-q-c-1920-1080-2.jpg
要 http://www.danielfew.uk/projects/file_upload/view_image/img/food-q-c-1920-1080-2.jpg/
甚至更好,重定向: http://www.danielfew.uk/projects/file_upload/view_image.php?img= {图像名称}
要 http://www.danielfew.uk/img/ {图像名称}
或者那就是发电机所说的......但每次我转到那个页面时都会出现内部服务器错误。
有人可以帮我理解重写网址的工作原理吗?
我暂时删除了.htaccess的内容,因此您可以在不收到内部服务器错误的情况下查看该页面。
答案 0 :(得分:1)
所以我认为这是你的解决方案,
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^img/([0-9]+)/?$ view_image.php?img=$1 [NC,L] # Handle product requests
你喜欢这样:http://www.danielfew.uk/projects/file_upload/view_image/img/ {number} /
注意:您不能在此使用名称,因为此代码不支持名称,只有id = {number} ok
以下是我的测试网站的演示,这是我的.htaccess代码
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^DanielFew/([0-9]+)/?$ index.php?id=$1 [NC,L] # Handle product requests
我的链接是:http://test.softbazz.com/danielfew/danielfew/3/ 通过更改ID号,您可以看到更改。 danielfew/{id=number}/