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

Laravel集成WordPress后去除URL末尾斜杠问题求助

解决Laravel集成WordPress后/blog/末尾斜杠问题

1. 修改Laravel根目录的.htaccess文件

原规则里的!-d条件会跳过实际存在的目录(比如blog文件夹),所以需要在现有规则前添加针对/blog/的单独重定向:

修改后的完整配置:

Options -MultiViews -Indexes
RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# 单独处理/blog/的末尾斜杠重定向
RewriteRule ^blog/$ /blog [L,R=301]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

2. 调整WordPress自身设置

WordPress默认会自动给URL添加末尾斜杠,需要同步修改:

  • 后台设置方式:
    1. 进入WordPress后台 → 设置 → 固定链接
    2. 将自定义结构设置为不带末尾斜杠的格式,比如/%postname%(而非/%postname%/)
    3. 保存设置,让WP自动更新public/blog/.htaccess文件
  • 代码强制方式:在WordPress的wp-config.php中添加以下代码:
    define('WP_STRICT_REDIRECT', true);
    add_filter('user_trailingslashit', '__return_false', 9999);
    

3. 清除缓存

完成修改后,需要:

  • 清除浏览器缓存,避免旧重定向规则残留
  • 运行Laravel缓存清理命令:
    php artisan cache:clear
    php artisan config:clear
    

内容的提问来源于stack exchange,提问作者Stephan G Varghese

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:52:10