我怎样才能让我的网址,从这个例子中友好吗?(How can I make my urls friendly from this example)

   IT问题网   2018-12-07 00:00:00

问 题

我的网站当前显示像这样(在点击广告时):

hxxp://mysite.com/viewitem.php id = 10
 

我喜欢的网址为:

hxxp://mysite.com/dogs/121/border-collie-for-sale-to-good-home
 

,其中"狗"永远是一个常数,121始终是$行['postid'];和"边境牧羊犬出售到好家庭"始终是我的$行['标题'];

我知道它可能不会那么容易,因为在这里一个快速的答案,但将ap preciate它,如果你可以让我在正确的方向。我假设一个变化的.htaccess是为了和我只是可怕在试图破译了。

解决方案

东西,你可以做的是在viewitem.php脚本的顶部添加重定向。此重定向将需要检查您用来指示.htaccess文件的重写查询参数。事情是这样的:

 如果(!使用isset($ http_get_vars ['改写'])){
//使用任何幕后的东西,你需要构建友好的url
$ friendly_url ="http:// mysite的/"。的getcategory()。 "/"。的getid()。 "/"。的gettitle();

//现在重定向浏览器:
标题("http / 1.1 301永久移动");
标题("位置:$ friendly_url");
出口();
}

//照常营业,您viewitem.php脚本的其余部分。
 

所以,当这php脚本试图处理不具有在查询字符串的重写参数的请求,将其重定向到url的友好的版本。如果它确实有重写它做什么,它通常不会和处理该请求。

现在在.htaccess文件中,您要重写丑陋的url到友好的url,但您需要包括重写中重写(我承担的"121 "在你的例子是"id",该viewitem.php脚本需要:

 的rewritecond%{} request_filename!-f
的rewritecond%{} request_filename!-d
重写规则^ [^ /] + /([^ /] +)/ /viewitem.phpid=$1amp;rewritten=true [l]
 

如果你离开了&放大器;改写=真在那里,它会进入一个重定向循环。您也可以在规则的括号内添加 qsa ,如果你想通过其他的查询字符串以及您希望能够处理友好的url一样的情况下改写: 的http:// mysite的/狗/ 121 /边境牧羊犬,换销售/?排序= asc 随着 [l,qsa] ,"排序= asc"被沿viewitem / php过去了。

所以,这是发生什么事情,当有人点击广告和被采取的http:// mysite的/ ?viewitem.php id = 121 :

  1. 在浏览器地址栏说的http://mysite/viewitem.php id = 121 请求被发送到mysite的和viewitem.php访问
  2. viewitem.php的顶部看到,有没有重写参数,所以它的浏览器重定向到的 http:// mysite的/狗/ 121 /边境牧羊犬出售
  3. 在自认为是一个301重定向,浏览器的地址栏更改为的http:// mysite的/狗/ 121 /边境牧羊犬出售
  4. 请求重新发送到mysite的,但这个时候,的.htaccess重写 /狗/ 121 /边境牧羊犬出售到 / viewitem ?.php id = 121安培;改写= true 在内部,所以浏览器的地址栏并没有改变
  5. 请求使它回到viewitem.php,这个时候,剧本看到有一个重写参数,并执行它一贯的企业和请求提供服务

您可以使用它使用任何名字你想要的参数标志,只要没有脚本的。

标签:怎样才能网址这个例子友好



分享:

  • 微信
  • QQ好友
  • QQ空间
  • 新浪微博


热门推荐

htaccess的问题强制SSL(.htaccess issue to force SSL)

problem i activated ssl on one of my sites (based on word ...

IfModule不会出现是工作?(IfModule doesn't appear to be working)

problem if i use this: lt;ifmodule mod_rewrite.cgt; rewr ...

我怎样才能利用外界信息的URL重写?(How can I get use outside information in url rewrites)

problem hopefully some of you .htaccess gurus can help me ...

基于URL到一个新的页面的RewriteCond重写规则进行的.htaccess,定期EX pression(RewriteCond RewriteRule for .htaccess based on URL to a new page, regular expression)

problem i have an interesting rewriterule and i am not su ...

的.htaccess,mod_rewrite的,正则表达式用目录和文件类型(.htaccess, mod_rewrite, regex with directory and filetype)

problem i want to do a rewrite with the following conditi ...

.htaccess的语言重定向310错误(Htaccess language Redirect 310 error)

problem i have a two language site swedish sidewww.site ...

重定向一切的index.php(Redirection everything to index.php)

problem i wan't to redirect everything to index.php exepe ...

生成SE友好的URL的.htaccess国防部重写(Generating SE friendly URL .htaccess mod rewrite)

problem i've a url which get file name through get method ...

htaccess的子域名重定向(htaccess subdomain redirect)

problem i've searched around and tried a few ...

UrlRewrite 3 GET请求(UrlRewrite with 3 get request)

problem i'm working on a project and stuck on urlrewrite. ...

mod_rewrite的:恶意重定向(Mod_ReWrite: Unwanted redirect)

problem possible duplicate: .htaccess, clean ...

限制用户子目录(limiting users to subdirectories)

problem i have a subdirectory of users that i want to lim ...

重定向子文件夹的.htaccess(Redirection Subfolder Htaccess)

problem i want a redirect using htaccess i have a post na ...

使用的.htaccess,从来没有表现出的index.php(Using .htaccess, never show index.php)

problem how can i never show index.phpfor example, all re ...

在子域的内部服务器错误(internal server error in subdomains)

problem i installed worpress to my main domain abcd.com. ...

基于用户代理手机网站重定向(Mobile website redirection based on user agent)

problem say i've got two distinct domains: ...

的Joomla htaccess的不工作(Joomla htaccess not working)

problem i am using joomla 1.7 and using joomla's built in ...

扩大友好的URL,国防部重写(Expanding friendly url, mod rewrite)

problem i am using modx, which is a cms system. it has a ...

共享主机Zend的项目?(zend project on shared hosting )

problem i created a zend project on localhost on ubuntu o ...

URL结构的htaccess(url construction htaccess)

problem lets say i have a link to one of my page that loo ...