【问题标题】:.htaccess short and friendly url.htaccess 简短而友好的网址
【发布时间】:2012-06-21 20:17:03
【问题描述】:

我正在寻找合适的 .htaccess 规则来创建 Facebook.com/user URL,例如

如果我访问例如我想要什么

www.domain.com/StackOverFlow

会改写成

www.domain.com/index.php?category=StackOverFlow

或者

www.domain.com/category.php?item=StackOverFlow

有什么帮助吗?我在这里尝试了一些问题,但他们没有明确地这样做。

提前致谢

已编辑:

忘了说我只想使用这个规则被重定向,任何在域之后没有任何扩展名的东西

例如,它应该重定向www.domain.com/categoryDescription,但不重定向www.domain.com/categoryDescription.phpwww.domain.com/categoryDescription.html

【问题讨论】:

标签: php apache .htaccess mod-rewrite


【解决方案1】:

下面的示例采用.com/ 之后的URI 并将其分配给$1。 你可以对“项目”做同样的事情

RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?category=$1 [L]

【讨论】:

  • 例如它应该重定向www.domain.com/categoryDescription但没有www.domain.com/categoryDescription.phpwww.domain.com/categoryDescription.html会起作用吗?
【解决方案2】:
<IfModule mod_rewrite.c>
  RewriteEngine on
  # Rewrite URLs of the form 'x' to the form 'index.php?category=x'.
  RewriteRule ^(.*)$ index.php?category=$1 [L,QSA]
</IfModule>

【讨论】:

  • 例如它应该重定向www.domain.com/categoryDescription但没有www.domain.com/categoryDescription.phpwww.domain.com/categoryDescription.html会起作用吗?
【解决方案3】:

试试:

RewriteRule ^StackOverFlow$ index.php?category=StackOverFlow [NC,L]

或:

 RewriteRule ^StackOverFlow$ category.php?item=StackOverFlow [NC,L]

一般来说:

RewriteRule ^([^/]*)$ index.php?category=$1 [NC,L]

或:

 RewriteRule ^([^/]*)$ category.php?item=$1 [NC,L]

【讨论】:

  • StackOverFlow 值是一个例子,它可以是任何类别
猜你喜欢
  • 2012-10-15
  • 2016-03-11
  • 2017-05-14
  • 2014-07-26
  • 2010-10-24
  • 2012-04-27
  • 2012-08-14
  • 2016-02-02
相关资源
最近更新 更多