【问题标题】:htaccess rule for internal redirection is not working?用于内部重定向的 htaccess 规则不起作用?
【发布时间】:2014-07-20 03:05:14
【问题描述】:

http://www.example.com/class/part-time/ 是实际网址。

我想为内部重定向到 url 编写 htaccess 规则:

http://www.example.com/index.php?type=class&slug=part-time

我正在使用以下规则-

RewriteRule ^class/([\w-]*)/$ index.php?slug=$1&type=class

但它不起作用。

【问题讨论】:

  • 你的.htaccess文件代码的其余部分是什么?

标签: php apache .htaccess codeigniter


【解决方案1】:

一种方法是:

RewriteRule ^class/([\w-]+)/$ index.php?slug=$1&type=class [L,QSA]

另一个是:

RewriteRule ^([\w-]+)/([\w-]+)/$ index.php?slug=$2&type=$1 [L,QSA]

注意事项:
* 我没有测试它,但你应该明白...
* 第一个方法的url必须以单词class开头,第二个是动态url
* 不要忘记规则中的 [L] 标志,因为不使用它可能会得到意想不到的结果
* 如果您要附加其他 GET 值,请不要忘记规则中的 [QSA] 标志
* $1 捕获 ([\w-]+) 中的所有内容,第二组中的 $2
* 我使用([\w-]+) 而不是([\w-]*),因为url 的那部分是强制性的

【讨论】:

  • @Praful:正如我在回答中所说,这未经测试。但只要稍加调整,它就会起作用。测试一下。
猜你喜欢
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
相关资源
最近更新 更多