搜索

首页  >  问答  >  正文

Htaccess 重定向似乎不适用于 seo 友好(无扩展名)url 的 php 文件扩展名

我网站的一个旧网址结构如下:

https://example.com/login.php
    or, 
    https://example.com/login.php?redirect=https://example.com
    or,
    https://example.com/register.php

重建 URL 后,URL 如下所示:

https://example.com/login
    or, 
    https://example.com/login?redirect=https://example.com
    or,
    https://example.com/register

现在,当用户/访问者使用旧 URL https://example.com/login.php 时,我想重定向到 https://example.com/login 页面。我该怎么做?

仅供参考,目前,我的 .htaccess 文件具有以下内容:

AddDefaultCharset UTF-8

ErrorDocument 404 /error-404/

##
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteBase /

## Allow a few SEO Files direct access.
RewriteRule ^robots.txt?$ robots.txt [L]
RewriteRule ^ads.txt?$ ads.txt [L]
RewriteRule ^sellers.json?$ sellers.json [L]


## Avoid rewriting rules for the admin section
RewriteRule ^(admin|resources)($|/) - [L]

## Set Ajax Request File
RewriteRule ^kahuk-ajax.php?$ kahuk-ajax.php? [L,QSA]

## Set controller with id
RewriteRule ^([^/]+)/([0-9]+)/?$ index.php?con=&id= [L,QSA]

## Set controller with slug
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?con=&slug= [L,QSA]

## For paging
RewriteRule ^([^/]+)/page/([0-9]+)/?$ index.php?con=&page= [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/page/([0-9]+)/?$ index.php?con=&slug=&page= [L,QSA]

## Set controller for only one parameter
RewriteRule ^page/([^/]+)/?$ index.php?con=page&slug= [L,QSA]
RewriteRule ^([^/]+)/?$ index.php?con= [L,QSA]

## Set home page
RewriteRule ^/?$ index.php?con=home [L]

P粉724737511P粉724737511427 天前653

全部回复(1)我来回复

  • P粉464208937

    P粉4642089372023-09-14 09:29:25

    您可以在 RewriteBase / 行下方插入此规则来删除 .php 扩展名:

    # To externally redirect /afile.php to /afile
    RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
    RewriteRule !^admin/ /%1 [R=301,NE,L,NC]
    

    回复
    0
  • 取消回复