.htaccess 重写 cond/rule 并隐藏 url 参数
.htaccess rewrite cond/rule and hide url paremeters
我的根目录中有一个 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=&lang= [L]
RewriteRule ^([^/]*)$ /folder1/folder2/index.php [L]
看起来像这样
但我想要这样 -> http://example.com/eu-en
有没有办法在 htaccess 中做到这一点?
编辑:
我必须使用重写条件,因为我重定向到文件夹取决于主机。
编辑 2:解决方案
RewriteCond %{HTTP_HOST} ^(www.)?anothersite.com$
RewriteRule ^([a-z]{2,2})-([a-zA-Z0-9_-]+)$ /folder1/folder2/index.php?country=&lang= [QSA]
多亏了答案,它现在可以工作了。但在那之后我在网站上收到 css 和 js 错误。然后我改变了 css 和 js 路径 /folder1/folder2/css.
您需要附加 [QSA](查询字符串附加)标记。尝试
RewriteEngine on
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=&page= [QSA]
试试下面的方法,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)$ index.php?country=&lang= [QSA]
我的根目录中有一个 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=&lang= [L]
RewriteRule ^([^/]*)$ /folder1/folder2/index.php [L]
看起来像这样
但我想要这样 -> http://example.com/eu-en
有没有办法在 htaccess 中做到这一点?
编辑: 我必须使用重写条件,因为我重定向到文件夹取决于主机。
编辑 2:解决方案
RewriteCond %{HTTP_HOST} ^(www.)?anothersite.com$
RewriteRule ^([a-z]{2,2})-([a-zA-Z0-9_-]+)$ /folder1/folder2/index.php?country=&lang= [QSA]
多亏了答案,它现在可以工作了。但在那之后我在网站上收到 css 和 js 错误。然后我改变了 css 和 js 路径 /folder1/folder2/css.
您需要附加 [QSA](查询字符串附加)标记。尝试
RewriteEngine on
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=&page= [QSA]
试试下面的方法,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)$ index.php?country=&lang= [QSA]