htaccess将一系列URL掩盖到更易读的版本,但显示来自原始URL的内容

时间:2014-03-21 11:33:17

标签: .htaccess mod-rewrite url-rewriting rewrite

以下是电子商务商店中过滤网址的示例。

http://www.domain.com/showering/showers/filter/alliance
http://www.domain.com/showering/showers/filter/aquaflow
http://www.domain.com/showering/showers/filter/grohe
http://www.domain.com/showering/showers/filter/mira

我想知道是否有办法可以屏蔽这些网址,以便它们显示为: -

http://www.domain.com/alliance-showers
http://www.domain.com/aquaflow-showers
http://www.domain.com/grohe-showers
http://www.domain.com/mira-showers

但仍显示/showering/showers/*网址

中的网页内容

然后,我希望能够根据这些屏蔽的网址设置规范网址。

我玩过无数变化但收效甚微,但到目前为止我已经做了以下事情: -

RewriteEngine on
RewriteCond %{HTTP_HOST} !^/showering/showers/filter/(alliance)
RewriteRule (.*) /alliance-showers/

当这应用于网站时,Magento商店中的所有图片都不会偶然加载,而且网址根本没有变化。

回答@anubhava' s comment ...

.htaccess文件是root或Magento安装。这是文件中的第一条规则: -

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^([^-]+)-([^/]+)/?$ /showering/$2/filter/$1 [L,R]

目前使用this URL进行测试: -

http://www.showermania.co.uk/showering/showers/filter/alliance

希望显示为: -

http://www.showermania.co.uk/alliance-showers

当前答案对此网址完全没有影响/更改。感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下规则:

RewriteEngine on

RewriteRule ^showering/([^/]+)/filter/([^/]+)/?$ /$2-$1 [L,NC]