ErrorDocument 404 /404.php
Options -MultiViews
RewriteEngine On
RewriteBase /SimpleMVCTest/
#Make sure it's not an actual file
RewriteCond %{REQUEST_FILENAME} !-f
#Make sure its not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#Rewrite the request to REQUESTED_FILENAME
RewriteRule ^(.*)$ $1.php?get=$1 [L]
我注意到有两个问题
1:给予www.example.com/car/1
将导致500内部错误,但如果我写www.example.com/car
它可以正常工作。我怎么做它所以我可以去car / 1,它不会给500内部错误
2:如果我写www.example.com/somethingthatdoesnotexist
或www.example.com/somethingthatdoesnotexist/1
,它会给出500内部,但应该重定向到404但是找不到
我该怎么做?
答案 0 :(得分:0)
这不是一个非常好的方法,您不应该将所有内容重写为@ViewScoped
这样的文件,因为您将尝试请求$1.php
之类的文件,这不是您想要的:这将导致内部服务器错误,因为在下次重写时,它会尝试获取car/1.php
,然后car/1.php.php
等等。
相反,您应该将所有内容重写为固定文件,如car/1.php.php.php
,并处理php中的逻辑。您可以获取请求的URL(您甚至可以将其添加为查询变量),解析它并包含或重定向到您想要的任何文件。