【问题标题】:How to ignore a folder from beautiful URL using htaccess如何使用 htaccess 从漂亮的 URL 中忽略文件夹
【发布时间】:2013-08-07 14:35:54
【问题描述】:

我正在开发一个网站,假设 example.com 和一个位于 example.com/blog 的博客。 网站语言是PHP(我自己设计和编程),我用wordpress作为博客。

我尝试在网站的主要部分使用漂亮的 URL,通过 htaccess 中的这段代码将 example.com/services.php 转换为 example.com/services:

# BEAUTIFUL URL
RewriteBase /
DirectorySlash Off
# remove trailing slash
RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]
# rewrite /dir/file?query to /dir/file.php?query
RewriteRule ^([\w\/-]+)(\?.*)?$ $1.php$2 [L,T=application/x-httpd-php]

网站的主要部分运行良好。但是当我尝试加载博客时,我必须在 URL 的末尾添加一个斜杠以使其正常工作。

http://www.example.com/blog >> 403 禁止错误

http://www.example.com/blog/ >> 正确加载

我尝试使用 htaccess 在 URL 后添加斜杠,但我不知道这是不是最好的解决方案?任何人都可以建议一种方法来忽略受漂亮网址影响的博客文件夹吗?

【问题讨论】:

  • 有什么理由不使用 Wordpress 开发整个网站?
  • 网站主体部分比较图形化,用Wordpress不好实现。
  • 我问是因为 Wordpress 设置为提供 beautiful URL。您可以专门为您的博客地址添加 RewriteRule。此外,使用 Wordpress 提供“图形”网站并不难。

标签: php .htaccess


【解决方案1】:

处理这个问题的简单方法是创建一个名为 blog.php 的文件,它只是重定向到 example.com/blog/。

【讨论】:

  • 它认为是因为 blog 文件夹导致 blog.php 无法正常工作。
【解决方案2】:
RewriteCond %{REQUEST_URI} !^/blog

在重写规则之上。

没测试过,应该可以的

【讨论】:

  • 我已经搜索过这个解决方案,但是我得到了同样的错误,我不知道为什么?错误:禁止访问,您无权访问此服务器上的 /blog。此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
猜你喜欢
  • 2022-10-24
  • 2015-10-14
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 2021-01-29
相关资源
最近更新 更多