我想使用重写规则来清除我的 url
I would like to use Rewrite rule to clear my url
我想通过在 .htacces 中使用 RewriteRule 清除我的 url。
我想把/product/detail.php?id=red-shirt改成这样/product/red-shirt.
我尝试使用这个 RewriteRule ^/?product/([^/d]+)/?$ /product/detail.php?id=$1 [L, QSA] 但它不起作用。
我总是会收到 404 错误。
如果我将 /d 更改为 \d,我将收到内部服务器错误 500
您收到 404 是因为您的正则表达式有误。使用此规则解决此问题:
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^product/([^/]+)/?$ /product/detail.php?id= [L,NC,QSA]
我想通过在 .htacces 中使用 RewriteRule 清除我的 url。
我想把/product/detail.php?id=red-shirt改成这样/product/red-shirt.
我尝试使用这个 RewriteRule ^/?product/([^/d]+)/?$ /product/detail.php?id=$1 [L, QSA] 但它不起作用。
我总是会收到 404 错误。 如果我将 /d 更改为 \d,我将收到内部服务器错误 500
您收到 404 是因为您的正则表达式有误。使用此规则解决此问题:
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^product/([^/]+)/?$ /product/detail.php?id= [L,NC,QSA]