首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Htaccess SEF url重写

Htaccess SEF url重写
EN

Stack Overflow用户
提问于 2016-08-30 20:02:35
回答 1查看 154关注 0票数 1

对你们来说可能是一个简单的解决方案,但我们正在为客户的adwords帐户创建一些登录页面。我们已经创建了页面,并使用PHP中的get请求插入区域和关键字。

当前的url如下所示:

http://www.customersdomain.co.uk/index.php?keyword=locksmith&area=london

本质上,我正在寻找一个htaccess重写规则,允许输入这个url:

http://www.customersdomain.co.uk/areas/locksmith-london.html

随着一个观点,锁匠和伦敦的动态内容将被输入到页面中,并可以用其他关键字,如锁匠和伯明翰取代。我们知道这对于搜索引擎优化来说是一种糟糕的做法,但这个客户有其他的原因“想要表现得像他的客户本地的”。

任何帮助都是很好的,因为这不是我的强项。

EN

回答 1

Stack Overflow用户

发布于 2016-08-30 21:16:36

由于您是管理员,并且根本不需要htaccess,因此您可以在虚拟主机上下文中使用类似以下内容:

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^/areas/(.+)-(.+)\.html$ /index.php?keyword=$1&area=$2 [L]

代码语言:javascript
复制
RewriteRule ^/areas/([^-]+)-(.+)\.html$ /index.php?keyword=$1&area=$2 [L]

这是一种非常基本的方法,但这两种方法都有效,如果您有一组有限的值,您可以将它们括在括号中,如(london|paris|gotham)。还有更复杂的例子,特别是如果你有千百种可能性,并且你想要非常具体地匹配它们,你甚至可以使用RewriteMap。但对于初学者来说,为了确保它们能正常工作,请使用R,L来实际重写它们,并查看它们在浏览器中是如何真正改变的,然后一旦你确定它们可以工作,你就可以删除R标志,这样它们就会在内部重写。

在测试之间,确保清除缓存,或者简单地尝试"curl http://www.customersdomain.co.uk/areas/locksmith-london.html“,以确保来自浏览器的缓存不会干扰您的测试。

请务必检查mod_rewrite documentation

哦,还有关于htaccess。我知道你在某个地方读到过.htaccess的用法,世界上的每个人似乎都认为它是一个神奇的文件,可以添加重写,但事实是,它只适用于没有访问HTTPD主配置文件的用户,它增加了复杂性,因为它发生在每个目录的上下文中,并且它增加了服务器的开销。如果你不使用服务器就能给他们的服务器带来最大的性能,你的客户会很感激的。祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39226980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档