0
我有一个购物车,每个产品都有太多的网址。每个刺可以有例如:使用htaccess修改购物车的网址
http://www.mysite.com/12345_this_is_seo_product
http://www.mysite.com/this_is_category/12345_this_is_seo_product
http://www.mysite.com/this_is_category/this_is_subcategory/12345_this_is_seo_product
我想http://www.mysite.com/12345_this_is_seo_product
所以我假设的事情会杀死.com/
和最终/
之间的一切清盘。
然而,在导航类的情况下,你可能有:
http://www.mysite.com/this_is_category/this_is_subcategory/
你选择了一个产品,这是可取的了。
这样就意味着.com
和最终/
之间一切的剥离只能出现在产品上,并且将产品区别于其它环节的唯一的事情就是产品开始与一些事实,如12345_this_is_seo_product
所以我需要的是一组将.com
和最终/
,但只有最后/
后,当立即之间剥去一切表现的是一组数字(总是四个数字或更多)
希望我做了这个明确没有太多的混淆说明。
##编辑 - 添加我的htaccess -Options +FollowSymlinks
Options -Indexes
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
RewriteEngine On
RewriteBase/
RewriteRule ^.+/([0-9]+_[^/]+)$ /$1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
感谢您的答复。不幸的是,没有做任何产品的网址。我将包含现在的代码是htaccess,因为它需要原始产品url并尝试使其更友好。我直接放在你重写后这样: RewriteEngine叙述在 RewriteBase/ 重写规则^ $的sitemap.xml的index.php路线=饲料/ google_sitemap [L] 重写规则^ googlebase.xml $ index.php文件路径=饲料/ google_base? ![L] 的RewriteCond%{REQUEST_FILENAME} -f 的RewriteCond%{REQUEST_FILENAME} -D- 的RewriteCond%{REQUEST_URI} * \!。(ICO | GIF | JPG | JPEG | PNG | JS | CSS) 重写规则^ ([^?] *)index.php?_route _ = $ 1 [L,QSA] – Bob 2012-08-03 02:55:35
@Bob您必须在任何路由规则之前添加它(任何重写为“index.php”或URI永远不会达到重定向规则 – 2012-08-03 03:16:23
对不起,应该提到我已经尝试过它之前和之后。我认为它应该去的原因是因为URL是已经从它的动态形式重写了。我想要做的是改变结果。 对不起,如果上面的帖子是乱码。该网站一直告诉我,我没有留下任何字符,所以我不得不删除线路,以便更容易地查看htaccess文件中发生了什么。 – Bob 2012-08-03 04:18:39