。htaccess重写条件/规则并隐藏url参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了。htaccess重写条件/规则并隐藏url参数相关的知识,希望对你有一定的参考价值。

我的根目录中有一个htaccess。

我的文件路径http://example.com/folder1/folder2/index.php?country=eu&lang=en

我在htaccess中创建的。

RewriteCond %{HTTP_HOST} ^(www.)?anothersite.com$   
RewriteRule ^([^/]*)/([^/]*)$ /folder1/folder2/index.php?country=$1&lang=$2 [L]
RewriteRule ^([^/]*)$ /folder1/folder2/index.php [L]

看起来像这样

http://example.com/index.php?country=eu&lang=en

但是我想要这样-> http://example.com/eu-en

htaccess中有没有办法做到这一点?

答案

尝试以下,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)$ index.php?country=$1&lang=$2 [QSA]
另一答案

您需要附加[QSA](附加查询字符串)标签。尝试

RewriteEngine on

RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA]

请参见http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

以上是关于。htaccess重写条件/规则并隐藏url参数的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

htaccess 条件重写规则与 mod_GeoIP

htaccess 单参数重写规则

.htaccess使用无限参数重写规则

htaccess 列出目录并为其重写规则

htaccess 重定向 + 在 url 中隐藏子文件夹