如何通过.htaccess实现商店URL友好化?兼容WordPress环境
解决方案
在你的store目录下单独创建或编辑.htaccess文件(不要修改根目录WordPress的.htaccess,避免冲突),添加以下规则:
Options +FollowSymLinks RewriteEngine On # 处理带参数的URL:将 /store/packages/1 映射到 /store/store.php?page=packages&id=1 RewriteRule ^([^/]+)/(\d+)/?$ store.php?page=$1&id=$2 [L,QSA] # 处理无参数的PHP文件URL:将 /store/profile 映射到 /store/profile.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^/]+)/?$ $1.php [L]
规则说明
- 第一条规则:匹配
store目录下[字符串]/[数字]的格式,把字符串作为page参数、数字作为id参数,末尾的斜杠是可选的(/?),[L]表示这是当前匹配的最后一条规则,[QSA]用于保留额外的查询参数(如果存在)。 - 第二条规则:先验证请求路径不是真实目录(
!-d),且对应的.php文件确实存在(-f),再将请求路径映射到对应的PHP文件。
注意事项
- 确保服务器已启用
mod_rewrite模块 - 确认
store目录的.htaccess文件有被服务器读取的权限 - 根目录WordPress的
.htaccess默认不会影响子目录规则,无需额外修改
内容的提问来源于stack exchange,提问作者LeJamal
相关产品推荐
相关产品推荐

