【问题标题】:How to Remove Query String in Dynamic url in PHP如何在 PHP 中删除动态 url 中的查询字符串
【发布时间】:2015-08-28 17:16:33
【问题描述】:

我有类似的动态网址

http://epathasala.com/schooldetails.php?name=john-paul-higher-secondary-school
http://epathasala.com/universitydetails.php?name=demo-university
http://epathasala.com/schooldetails.php?name=tagore-international-school

我需要删除所有查询字符串并更改如下网址

http://epathasala.com/collegedetails/gtn-arts-college http://epathasala.com/universitydetails/demo-university http://epathasala.com/schooldetails/tagore-international-school

我已尝试 [Pretty URL - mod_rewrite question][1] 但无法正常工作。请有人帮忙。谢谢

我已经在 htaccess 代码下面尝试过,但它不起作用。

RewriteEngine On
RewriteBase /
RewriteRule ^epathasala/schooldetails/(.*)$ /epathasala/schooldetails.php?name=$1 [NC,L]

我需要从 url 中删除这部分 ".php?name="。

【问题讨论】:

  • $_SERVER['PHP_SELF'] 将完成这项工作。编辑:或者您需要在.htaccess 中使用它吗?
  • 谢谢。我想使用 .htaccess
  • 您可以使用mod_rewrite 模块(请参阅RewriteEngineRewriteCond/RewriteRule)。
  • 是的,我只用过那个,请看问题,我更新了
  • This 会做到的。

标签: php .htaccess mod-rewrite


【解决方案1】:
RewriteRule ^(.*?)/(.*?)/?$ $1.php?name=$2 [NC,L]

【讨论】:

  • 是的,但是学校的详细信息并不是一个常数,它可能会更改为大学的详细信息或事件或任何东西。我只需要删除 .php?name=
  • 这个我试过了,还是不行,url不变
  • 我根据您的需要对其进行了更改。请看一看。
  • @GopiKrishnan 我查看并更改了它,请再试一次。
  • RewriteEngine On RewriteBase / RewriteRule ^(.*?)/(.*?)/?$ /epathasala/$1.php?name=$2 [NC,L] 试过这个但不工作跨度>
【解决方案2】:

这应该可行:

RewriteEngine On
RewriteBase /
RewriteRule ^epathasala/([^/]+)/([^/]+)/?$ /epathasala/$1.php?name=$2 [NC,L]

【讨论】:

  • 感谢 Starkeen,我已经尝试过使用 htaccess.madewithlove.be 但输出 url 不起作用 RewriteRule ^epathasala/(.*?)/(.*?)/?$ /epathasala/$1.php ?name=$2 [NC,L]
  • Gopi,在你的服务器上检查这个,而不是在他们的网站上。
  • 是的,斯塔克。我已经检查了我的服务器。我已经尝试过了,但没有工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-08
  • 2019-01-14
  • 1970-01-01
  • 2011-02-02
  • 1970-01-01
相关资源
最近更新 更多