同一页面有2个网址.htaccess没有重定向

时间:2016-09-05 10:49:34

标签: php .htaccess

我有一个页面,我列出了我的所有产品。但我也想在不同的网址上使用相同的页面。因此,两个网址都应该使用任何重定向打开相同的页面。

原始网址为:http://example.com/product/all-products 具有相同内容的新网址应为http://example.com/all-products

我怎么能用.htaccess做到这一点?

2 个答案:

答案 0 :(得分:0)

尝试以下规则

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w-]+)$ product/$1 [L]

答案 1 :(得分:0)

您可以在 /root.htaccess

中使用以下内容
RewriteEngine on
#1 redirect browser url from "/product/foobar" to "/foobar"
RewriteCond %{THE_REQUEST} /product/(.+)\sHTTP [NC]
RewriteRule ^ /%1 [L,R,NE]
#2 if "/foobar" exists as a file or dir in product folder
RewriteCond %{DOCUMENT_ROOT}/product/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/product/$1 -d
#3 then rewrite "/foobar" to "/product/foobar"
RewriteRule ^(.*?)/?$ /product/$1 [L]

如果上述示例失败,您可以尝试以下

RewriteEngine on

RewriteCond %{THE_REQUEST} /product/(.+)\sHTTP [NC]
RewriteRule ^ /%1 [L,R,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /product/$1 [L]