Wordpress - 使网站 url 主页成为 /page

问题描述 投票:0回答:1

我目前有一个运行 Apache2ubuntu 服务器,并运行我的 wordpress 站点。 目前它只是一个全新安装的 WordPress 站点,已成功全新安装。

一切正常,我可以使用网站 URL 示例“www.mydomain.com”访问该网站。

- 我想做的事:

我想修改这个项目,以便只有当用户访问 “www.mydomain.com/mysite” 时才能访问这个特定的 WordPress 站点,换句话说,如果用户访问 www.mydomain.com站点未加载/未找到,但是如果他们在 url 末尾键入 /mysite,则 WordPress 站点将正常运行(包括所有图像、管理员登录 url 等将与 /mysite 一起使用。所以基本上该站点托管在 www.mydomain.com/mysite

-我不需要什么:

我不希望使用 mysite.mydomain.com 等子域执行此操作(据我所知,通过 dns 控制这将非常容易)

-我已经尝试过的: 我尝试将数据库中的站点和主页网址更改为 www.mydomain.com/mysite 并在下面添加以下 htaccess 文件,但是当我执行此操作并转到 /mysite 时,我收到错误

 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.

我尝试过的 htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysite/index.php [L]
</IfModule>

此外,如果我完全删除 .htaccess 并将数据库中的站点和 url 保留为“mydomain.com/mysite”,那么我自然会收到“未找到”错误,而不是上面的错误。

wordpress ubuntu url-rewriting apache2
1个回答
0
投票

是否有理由在服务器根目录上安装Wordpress并尝试使用.htaccess重写/mysite请求以从根目录读取?

在所需路径而不是服务器根目录中安装 Wordpress 是一件简单的事情。

因此,如果您想让站点仅在输入 URL“www.mydomain.com/mysite”时可见,请将 Wordpress 安装在名为“mysite”的文件夹中,并确保根目录中没有其他文件(位于与“mysite”文件夹本身相同的级别)。然后,导航到 www.mydomain.com/mysite 并完成 Wordpress 设置,确保正确输入站点/主页 URL。

如果您确实希望 WordPress 位于根目录上,则需要解决 .htaccess 重写配置问题。以下更简单的重写规则成功地将 /mysite/index.php 的请求重定向到加载 /index.php :

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^mysite/ 
RewriteRule (.*) /$1
</IfModule>

如果您打算将 Wordpress 保留在根文件夹中并让用户输入 URL“www.mydomain.com/mysite”来访问它,那么这会处理您实际描述的尝试执行的操作。您提供的 .htaccess 与此相反,似乎暗示用户将键入 URL,“www.mydomain.com”和“/mysite”应在加载页面时由 Apache 附加。这不会导致对“www.mydomain.com”的请求如您所愿“找不到”。

最终,我不确定 .htaccess 能否实现您的帖子似乎要求的解决方案:

  • 阻止对 root 请求的访问(显示为未找到)
  • 将请求转换为 /mysite 以从根目录读取

即使可以,我非常怀疑一旦 .htaccess 重写发挥作用,Wordpress 漂亮的永久链接能否很好地适应这样的设置。

© www.soinside.com 2019 - 2024. All rights reserved.