如何设置htaccess以允许更改发生?

时间:2015-07-08 03:12:14

标签: php apache .htaccess url-rewriting http-status-code-403

下面的

是重写规则:

RewriteEngine On

RewriteRule ^search/$ search/searchPage.php [L,NC]

.htacess文件位于网站的根目录

问题是当我输入domain.com/search/时,它并没有完全把我带到searchPage.php,它只是带我到403错误页面(注意这里没有index.php页面)。

这是在亚马逊弹性豆茎上传的

1 个答案:

答案 0 :(得分:1)

你基本上是在考虑它,你需要做的就是调用完整的URL并将其重写为真实的URL。

像这样,

  RewriteRule ^search/category/(.+)/ domain.com/search/searchPage.php?crs_category=$1 [L]

然后你将它用作你的网址http://domain.com/search/category/business/并重写(不重定向)它到它所映射的位置。浏览器中的网址将保持不变。

我不确定100%的.htaccess是否在我头顶,但这是你要使用的方法。

有意义吗?

(。+)位是一个捕获组,它将捕获该类别,而$ 1是输出的位置,因为它是第一个捕获组。进一步阅读将有助于如何使用正则表达式。

正如我在评论中提到的一个路由器,这个方法的问题是你必须手动映射每一个,这对于一两个是好的,但可以快速实现真正的丑陋。