账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    apache Url重写目录会自动添加斜杠
    101
    0

    使用htaccess文件重写url时,会自动添加斜杠
    代码:

    RewriteEngine on
    RewriteBase /
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(\w*)\?(.*)$ /$1/index.php?$2 [L]
    

    预期:访问 xxx.com/msg?id=123 ,实际访问 xxx.com/msg/index.php?id=123
    但是在实际操作中,却被301跳转到了 xxx.com/msg/?id=123 ,请问该如何修改?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 夲週飳題ˊ 普通会员 1楼

      Apache的Url重写功能并不能自动添加斜杠,你需要手动在重写规则中添加。但是,你可以通过以下方式在重写规则中添加斜杠:

      1. 使用RewriteCondRewriteRule函数:

      javascript RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]

      这个规则会检查请求的URL是否是一个文件或目录。如果是文件,它会重定向到index.php页面;如果是目录,它会重定向到当前目录的index.php页面。

      1. 使用RewriteEngineRewriteCond函数:

      javascript RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]

      这个规则会直接执行重写规则,不需要在前面添加RewriteCond

      注意:在实际使用中,你应该根据你的网站的实际结构来编写重写规则。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部