1

我正在尝试将笨重、丑陋的 url 重写为一个简洁的 url,它将“art.php?id=$1”转换为“art/1”,但我遇到了“500 内部服务器错误”我该怎么办?你能帮我pleeeease吗?

这是我使用的 .htaccess 代码:

    RewriteEngine On
    RewriteRule    ^art/([A-Za-z0-9-]+)/?$    art.php?id=$1  [NC,L]

这是我遇到的错误:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 admin@localhost 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。服务器错误日志中可能提供有关此错误的更多信息。

谢谢!

4

2 回答 2

2

根据您所在的服务器,您可能需要设置重写的基础

RewriteEngine On
RewriteBase /art/
RewriteRule    ^([A-Za-z0-9-]+)/?$    art.php?id=$1  [NC,L]

那应该可以正常工作

于 2013-03-11T11:33:52.143 回答
2

假设所有内容都在gallery文件夹中,该文件夹本身位于www根目录中。然后将此 .htaccess 文件也放入gallery文件夹中

RewriteEngine on

RewriteBase /gallery/

# prevent endless loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

# serve real content
RewriteRule ^art/([A-Za-z0-9-]+)/?$ art.php?id=$1 [NC,L]

# make pretty URL
RewriteCond %{QUERY_STRING} id=(.+)
RewriteRule ^art.php$ art/%1? [R,NC,L]
于 2013-03-11T22:24:26.663 回答