You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess实现移动端页面URL重写:slug转带参数路径

问题说明

我的文件夹结构如下:

Gadgets92
    - mobiles
        - index.php
        - product.php
        - .htaccess

我在Windows虚拟主机上把Gadgets92文件夹绑定成了gadgets92.test域名。

在mobiles/index.php里,我把商品页面的链接设为http://gadgets92.test/mobiles/slug,想通过.htaccess把这个URL转成http://gadgets92.test/mobiles/product.php?slug=slug。

我试过下面的规则,但没起作用:

RewriteEngine On

# 将"/mobiles/slug"重写为"/mobiles/product.php?slug=$1"
RewriteRule ^mobiles/([^/]+)$ /mobiles/product.php?slug=$1 [L]
解决方法

你的.htaccess放在mobiles目录下,规则里的^mobiles/([^/]+)$匹配不到请求——因为当前目录是mobiles,规则匹配的是相对于这个目录的路径,不是整个域名下的路径。

修改后的.htaccess规则如下:

RewriteEngine On

# 匹配当前目录下的slug路径,转发到product.php
RewriteRule ^([^/]+)$ product.php?slug=$1 [L]

额外提示

如果不想让规则影响真实存在的文件或目录(比如index.php),可以加上条件过滤:

RewriteEngine On

# 跳过真实存在的文件和目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ product.php?slug=$1 [L]

内容的提问来源于stack exchange,提问作者Maaz Tajammul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 20:33:30