繁体   English   中英

.htaccess规则给PHP文件带来500错误

[英].htaccess rule gives 500 error for php file

我看到了另一个关于当前设置的stackoverflow答案。 我希望对http://myserver.com/book/1234的请求实际显示php文件http://myserver.com/book.php?id=1234中的内容

所以我的.htaccess看起来像这样:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^book/(.*)$ /book.php?id=$1 [L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

请注意,下面两行允许我使用类似http://myserver.php/login的 url来实际拉起http://myserver.php/login.php。这正常工作。 但是,当我尝试致电http://myserver.com/book/1234时,出现500错误,这是怎么回事?

您的代码指示服务器仅在存在查询字符串时才进行重写。 因此,该规则仅在您请求/book/1234?id=1234

删除下面的行将使您的重写生效。

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM