php - 使用 htaccess 隐藏 php GET

标签 php .htaccess mod-rewrite

我有一个很奇怪的 .htaccess 问题。我正在构建一个多语言网站,并且需要虚拟地隐藏一个 page.php?lang=en 页面结尾。

我知道我可以改变www.domain.com/page.php?lang=engwww.domain.com/page/eng但是否可以将域显示为 www.domain.com/eng/page .

任何 .htaccess 指南也将不胜感激

最佳答案

为此:www.domain.com/eng/page,您需要在您的文档根目录 的 htaccess 文件中添加如下内容:

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+page\.php\?lang=([a-z]+)
RewriteRule ^ /%1/page? [L,R=301]

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

关于php - 使用 htaccess 隐藏 php GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20961317/

相关文章:

javascript - 使用表单数据执行计算并将它们解析回表单

php - htaccess url 重写如果文件不存在*或*特定目录

ajax - 限制直接链接到某个目录中的 AJAX 页面

.htaccess - 在我的 htaccess 文件中仅限制来自 3 个域的访问 - SetEnvIf Referer

php - 将 pdf 附件添加到 WooCommerce 已完成订单电子邮件通知

php - PDO 设置 PDO::MYSQL_ATTR_FOUND_ROWS 失败

php - 在结帐中使用 Curl 停止重定向

正则表达式 - 如何否定多个单词

php - 如何发送带有正斜杠而不是问号的获取请求?

外部页面的Mod重写规则?