.htaccess - HTACCESS 问:如何将index.php?id=directory/index.html 重定向到一个目录?

标签 .htaccess redirect

我似乎无法通过.htaccess 将更复杂的链接重定向到目录(内部有index.php)。由于 URL 又丑又长,我已经重建并更改了网站的文件:

旧:www.mysite.com/index.php?id=目录/index.html

新:www.mysite.com/目录/ (顺便说一句,其中包含index.php,而不再是.html)。

我还有很多目录,不仅仅是一个我想将旧链接重定向到新目录的目录,但它们之后都有丑陋的index.php?id=somedirectory/index.html域。

由于我彻底改变了我的网站,旧的和丑陋的 URL 打开我的主页,丑陋的 URL 仍然在地址栏中,因为它们都过去使用网站根目录中的主 .index.php。对于 SEO 来说,这是一个很大的禁忌,因为重复的内容。

顺便说一下,我不使用数据库。我现在使用带有 include() 等的简单 PHP 文件。这不是一个带有成员(member)帐户等的 WordPress 网站。我的网站静态多于动态。

我希望这不会太令人困惑。我并不是想缩短与 HTACCESS 的链接。我正在尝试永久重定向(301?)。

感谢您的宝贵时间。

最佳答案

这应该做:

RewriteRule ^mysite.com/(.+) mysite.com.index.php?id=$1/index.html [NC]

这对我有用!

您还需要:

Options +FollowSymLinks
RewriteEngine on

以上声明。

关于.htaccess - HTACCESS 问:如何将index.php?id=directory/index.html 重定向到一个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666108/

相关文章:

javascript - 使用 JavaScript 安全地发布消息

javascript - 避免根据特定的 URL 字符串设置 cookie

php - 从服务器设置 HTTP Referrer?

html - HTTP 到 HTTPS 重定向不适用于 .htaccess

php - Plesk (Linux) 的自定义 .htaccess 404 页面

mysql - WordPress 链接全部重定向到双 URL

.htaccess - htaccess 条件

java - 如何配置 apache 以将多个 tomcat 应用程序作为子域提供服务

bash - 如何通过进程重定向脚本的输出?

apache - 没有尾随的 URL/获取附加的内部端口