我的问题似乎在StackOverflow上没有答案,所以这里是:
我想使用根文件夹中的 htaccess 文件重写以下网址。
要重写的网址是:
http://www.domain.com/subfolder/item/12345
到此:
http://www.domain.com/subfolder/item.php?id=12345
然而,我似乎没有做任何事情。如果item.php URL位于根文件夹中,我可以使用以下方法成功重写该文件:
RewriteRule ^item/(.*)$ item.php?id=$1 [NC,L]
...但是如果item.php文件在子文件夹中则不行!
答案 0 :(得分:5)
您可以在子文件夹中使用以下.htaccess:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /subfolder
RewriteRule ^item/(.*)$ item.php?id=$1 [NC,L,QSA]
您的重写网址将变为:http://domain.com/subfolder/item/123
答案 1 :(得分:0)
以下是发送此URL的示例(在浏览器地址栏中输入的URL):
http://www.domain.com/subfolder/item/12345(可以是任意数字)到这个重写的网址:
RewriteEngine on
RewriteRule ^subfolder/item/([0-9]+)/?$ subfolder/item.php?id=$1 [L]
这些指令仅在存在子文件夹目录时才有效,并且在该目录中实际存在文件 item.php