【问题标题】:mod_rewrite to get query string PHPmod_rewrite 获取查询字符串 PHP
【发布时间】:2009-07-29 12:49:00
【问题描述】:

我刚才问了一个问题来整理我的目录结构,你们都解决了我的问题(谢谢!)但是我现在将此站点更改为另一台服务器并且重写规则不起作用。我找不到问题。我向主机发送了一个支持,他们说:

如果该语句不起作用,那么它可能是不正确的,或者不是为与我们正在运行的 Web 服务器一起工作而设计的。我们使用 Apache 2.2 版

apache 2.2 的 mod_rewrite 手册在这里...

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

我翻遍了这本手册,我看不出我的规则有什么不同!

我想获取url/bank/之后的文本,并将其作为名为@9​​87654327@的参数发送给url/bank/index.php!该规则在我的其他服务器空间上有效,所以我知道该规则有效!

规则是:

RewriteEngine on
RewriteRule ^bank/([^/.]+)/?$ bank/index.php?title=$1 [L]

任何指针都会很棒!

谢谢 伊恩

【问题讨论】:

  • 不起作用是什么意思?您收到 Apache 错误吗? .htaccess 文件是否支持/正在读取?
  • 愚蠢的问题,但它已经发生在我身上:你确定 Apache conf 允许它(配置中重写的网站目录没有AllowOverride None 吗?)
  • 我感觉 .htaccess 文件被包含大量 wordpress 安装数据的根 .htaccess 文件覆盖!支持已经说它全部启用了!我收到 404 表示找不到该目录,但在其他主机上没问题!
  • 我刚刚将一个 .htaccess 文件放在一个新目录中并创建了一个简单的 301,它工作正常!我不确定现在是什么问题!如果你去compensation-claims.org/bank,下面的链接应该可以工作!我知道我的页面正在运行,因为如果我尝试 compensation-claims.org/bank/index.php?title=ppiit 可以找到!这是.htaccess 文件的问题!如何检查它是否正在访问 .htaccess 文件?

标签: php .htaccess mod-rewrite redirect


【解决方案1】:

代替:

RewriteRule ^bank/([^/.]+)/?$ bank/index.php?title=$1 [L]

尝试:

RewriteBase /bank/
RewriteRule ^([^/.]+)/?$ index.php?title=$1 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2012-08-26
    • 2013-09-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多