【发布时间】:2014-12-04 19:11:09
【问题描述】:
我正在尝试重写网站的 url,我应该提到 index.php 现在的工作方式是获取 p(页面)参数并包含适当的文件。
所以请求页面是这样的:
www.domain.com/index.php?p=home
www.domain.com/index.php?p=search
www.domain.com/index.php?p=profile
www.domain.com/index.php?p=contact
我找到了如何为此创建重写规则:
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p=$1
所以现在 www.domain.com/home 会给我主页
但我还需要为此提供一个友好的网址
www.domain.com/index.php?p=profile&id=20
to
www.domain.com/profile/20/profile-friendly-name
or better
www.domain.com/profile/profile-friendly-name
*profile-friendly-name 指的是公司名称
要求:
为所有页面设置友好的 url,例如/home, /联系方式
为个人资料页面设置一个特别友好的 url 网址中的个人资料名称
我的问题:
如何使用现有 url 格式 (index.php?p=profile&id=20) 向 url 添加配置文件友好名称?
我能不能只有一个唯一的名字(没有 id),就像我上次一样 例如?
如果我能做到这一点,我是否必须更改所有现有的 url 在网站内(链接、图片的网址、文件)到友好的 格式?
我注意到在应用第一个 RewriteRule 后,一些 css 样式表和 js 不包括在内。怎么了?
【问题讨论】:
-
最好不要在一篇文章中问太多问题
-
您应该查看 MVC 框架而不是 htaccess 以获得 SEO 友好的网址。
-
是的,我知道@anubhava,但我很困惑......
-
我不能使用 MVC,我现在不能改变网站的结构,因为它是一个大项目
-
你从哪里得到
/profile-friendly-name?
标签: php .htaccess url mod-rewrite seo