Mod rewrite 需要使用mod_rewrite从url中删除部分文件名的帮助吗

Mod rewrite 需要使用mod_rewrite从url中删除部分文件名的帮助吗,mod-rewrite,Mod Rewrite,我正在尝试将我的url格式改短一点。现在链接的结尾是:website.com/image?id=name.jpg 我想让链接显示为m.website.com/name,url中没有文件exension或image.php文件。我认为mod_rewrite是一种方法,因此任何帮助都将不胜感激。为了让访问URL的人获得内容,您首先需要检查m.website.com的主机名,然后匹配URI的名称部分。使用该匹配,您可以代理请求(使用[P]),或者,如果website.com和m.website.com

我正在尝试将我的url格式改短一点。现在链接的结尾是:website.com/image?id=name.jpg


我想让链接显示为m.website.com/name,url中没有文件exension或image.php文件。我认为mod_rewrite是一种方法,因此任何帮助都将不胜感激。

为了让访问URL的人获得内容,您首先需要检查m.website.com的主机名,然后匹配URI的名称部分。使用该匹配,您可以代理请求(使用[P]),或者,如果
website.com
m.website.com
都托管在同一台服务器上,只需在内部重写即可。尝试将其放入文档根目录中的.htaccess文件:

RewriteEngine on
# check the host (NC = no case)
RewriteCond %{HTTP_HOST} ^m\.website\.com$ [NC]
# don't rewrite /image
RewriteCond %{REQUEST_URI} !^/image
# Match the first non-slash word and rewrite
RewriteRule ^([^/]+)$ /image?id=$1 [L]

这将重写为/image?id=name.jpg,但不会重写。如果希望在id参数中包含路径(以及其他所有内容),请将重写规则中的([^/]+)更改为(.*)

R
用于外部重定向!把它拿走!