如何通过.htaccess为WordPress站点根URL添加/news前缀?
解决WordPress站点根URL添加/news路径的问题
不需要手动修改.htaccess,WordPress后台自带配置功能,手动改规则很容易因为参数传递错误导致404。按以下步骤操作:
步骤1:通过WP后台设置固定链接结构
- 登录WordPress后台,进入「设置」→「固定链接」页面
- 选择「自定义结构」,在输入框中填写:
/news/%category%/%postname%/ - 点击「保存更改」,WordPress会自动生成正确的.htaccess规则。如果提示无法写入.htaccess,再按照步骤2手动替换规则
步骤2:手动替换正确的.htaccess规则(如果后台无法自动生成)
如果你因为权限问题无法让WP自动修改.htaccess,替换成以下规则:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^news/(.*)$ /index.php/$1 [L] </IfModule>
你之前的错误在于没有把/news/后面的路径参数传递给index.php,WP需要这些参数来识别具体的文章或页面,上面的规则会把/news/xxx/yyy这类请求转发给index.php/xxx/yyy,让WP能正确解析。
额外检查
- 确保服务器开启了
mod_rewrite模块:本地环境(如XAMPP/WAMP)需要打开Apache配置文件httpd.conf,找到LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#,然后重启Apache服务。
内容的提问来源于stack exchange,提问作者Dharma Fattahul Winzi
相关产品推荐
相关产品推荐

