我想使用 .htaccess 重写单个移动页面的网址

问题描述 投票:0回答:1
Gadgets92
    - mobiles
        - index.php
        - product.php
        - .htaccess

我有上面的文件夹结构

此外,我已使用 Windows 虚拟主机将 Gadgets92 文件夹注册为 gadgets92.test

在我的http://gadgets92.test/mobiles/index.php文件中,我有指向product.php文件的链接“http://gadgets92.test/mobiles/slug”。

我想使用 .htaccess 将“http://gadgets92.test/mobiles/slug”转换为“http://gadgets92.test/mobiles/product.php?slug=slug”

我已经尝试过了

RewriteEngine On

# Rewrite rule for "/mobiles/slug" to "/mobiles/product.php?slug=slug"
RewriteRule ^mobiles/([^/]+)$ /mobiles/product.php?slug=$1 [L]

apache .htaccess mod-rewrite
1个回答
0
投票

我将.htaccess文件放到根目录(Gadgets92)并在其中写入以下代码。

RewriteEngine On

# Exclude "index.php" and "action.php" from rewriting in each directory
RewriteCond %{REQUEST_URI} !^/(mobiles|laptops|watches|televisions|headsets)/index\.php$
RewriteCond %{REQUEST_URI} !^/(mobiles|laptops|watches|televisions|headsets)/action\.php$

RewriteRule ^(mobiles|laptops|watches|televisions|headsets)/([^/]+)/?$ $1/product.php?slug=$2 [QSA,L]

现在它接受 slugs,在内部将其写为

product.php?slug=slug
。除了
product.php
之外,它不会重写这些文件夹中的其他文件。

© www.soinside.com 2019 - 2024. All rights reserved.