对SEO URL的POST请求禁止

时间:2012-12-10 20:48:03

标签: php apache mod-rewrite

我有一个基本的MVC系统,它将POST数据发送到诸如

之类的URL

管理员/产品/添加/

但是这给了我一个错误

  

禁止

     

您无权访问   / admin / product / add /在此服务器上。

     

此外,尝试时遇到404 Not Found错误   使用ErrorDocument来处理请求。

RewriteRule只是

RewriteRule ^(.*)/$ index.php?uri=$1

上次我在服务器上看到这个,将文件/目录权限更改为755似乎解决了这个问题,但这次没有。我从来没有真正理解错误的原因所以希望有人能够提供更多信息吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^(.*)/$ index.php?uri=$1

答案 1 :(得分:1)

使用此:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?uri=$1 [L]

也仅使用www或非www域,但不能同时使用两者。使用htaccess重定向用户,您希望...

NonWWW to WWW:

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
WWW to NonWWW:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^www\.(.*)$ http://%1/$1 [R=301,L]