RewriteRule返回内部服务器错误


RewriteRule returns Internal Server Error

我正试图掌握"重写"规则的窍门。我使用了一些生成器和指南来尝试了解它是如何工作的,我得到的代码如下:

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/{图像名称}

或者发电机就是这么说的。。。但每次我转到该页面时,都会收到一个"内部服务器错误"。

有人能帮助我理解重写URL的工作原理吗?

我现在已经删除了.htaccess的内容,这样你就可以查看该页面而不会出现内部服务器错误。

所以我认为这是您的解决方案,

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/通过更改身份证号码,您可以看到更改。danielnew/{id=number}/