【问题标题】:Why does my clean url not work inside another folder?为什么我的干净 url 在另一个文件夹中不起作用?
【发布时间】:2019-11-09 08:00:38
【问题描述】:

我正在尝试为 SEO 目的获取干净的 URL。我以前从来没有这样做过,我得到了它在我的页面文件夹中的简单文件工作。

但是我的页面文件夹中有另一个文件夹,称为文件夹 b

我乱七八糟的网址(在页面文件夹内):index.php?page=

文件夹 b 中的凌乱 URL:index.php?page=folderb/file

我从页面文件夹中获得了一个干净的 URL。但是从我在文件夹 b 中的页面中,我无法正常工作。

我已经尝试将另一个 .htaccess 文件添加到我的文件夹 b 文件夹并覆盖根 .htaccess

我尝试在导航栏中设置域名/文件夹/名称文件。

我尝试过的所有事情都得到了 404 页面

我的 .htaccess 文件

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?page=$1 [L,QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=([^\s]+) [NC]
RewriteRule ^ %1? [R=301,L]

我希望从我的页面文件夹中的文件夹 b 中获得一个干净的 url。

【问题讨论】:

  • 您需要确保所有链接都是绝对的,例如/foo/bar 而不是 foo/bar - 否则如果你在里面,它们将不会使用,例如/foo/
  • 我的链接是这样的 domainName/folderB/pageInFolderB/ 或者你的意思是在 .htaccess 文件中?我认为我的 .htacces 是错误的,因为 .htaccess 期望在 page= 之后只有 1 个变量,但我不知道如何解决这个问题。
  • 谁能帮帮我?

标签: php clean-urls


【解决方案1】:

好的,所以我又试了一次,但结果更糟 我收到此错误消息

Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please.

而且我似乎无法回头。如果我切换到旧的.htaccess 并更改 header.php 中的 URL,那就没关系了

我的其他页面正在运行,但所有页面都在 domainName/home/Server/https/fastcgi/rid/54/26/59315426/htdocs/folderB/file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-07
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    相关资源
    最近更新 更多