简单的 .htaccess 重写以传递 1 个参数
Posted
技术标签:
【中文标题】简单的 .htaccess 重写以传递 1 个参数【英文标题】:Simple .htaccess rewrite to pass 1 parameter 【发布时间】:2012-11-25 11:31:05 【问题描述】:谁能告诉我我的 .htaccess 文件应该包含什么来创建以下重写:
http://www.example.com/success
打电话
http://www.example.com/index.php?q=success
【问题讨论】:
【参考方案1】:尝试:
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.+)$ /index.php?q=$1 [L]
【讨论】:
谢谢,如果“成功”是动态值,我该怎么做? 再次感谢.. 但是,当我尝试此操作时,我收到 403 Forbidden 消息 - 知道为什么吗? 哇 - 感谢您的快速回复 :) 不幸的是 - 仍然是 403 :( 不明白为什么!我测试过,它可以工作......你的.htaccess
文件只有这个规则吗?如果没有,请粘贴文件内容好吗?
我只使用您的代码创建了一个新的 .htaccess 文件并将其上传到该文件夹。一旦我上传它 - 所有对文件的请求都返回 403 禁止...知道还有什么可能导致这种情况吗?【参考方案2】:
以下代码用于我的网站
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?q=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?q=$1
或者你可以写如下
RewriteEngine On
RewriteRule ^(.+)$ index.php?q=$1
RewriteRule ^(.+)/$ index.php?q=$1
【讨论】:
以上是关于简单的 .htaccess 重写以传递 1 个参数的主要内容,如果未能解决你的问题,请参考以下文章