我在Godaddy服务器上托管我的网站。 在服务器上我有5个站点,每个站点在单个文件夹上。 例如:“webroot / site1” 我将特定域指向服务器“/ site1”
上的特定文件夹问题: 我试图在子文件夹中使用.htaccess创建一个RewriteRule,但它一直告诉我404找不到。
这是.htaccess:
RewriteEngine On
这很好用:
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]
此重定向到404页面:
#rewirite categories only
RewriteRule ^category/([0-9]+)/.*$ /category.php?c_id=$1 [L,QSA]
此网址完美无缺:
www.example.com/category.php?id=1
此网址不起作用并重定向到404网页
www.example.com/category/1/blalba
更多详情:
我已经尝试过:
RewriteRule ^ category /([0-9] +)/.*$ /site1/category.php?c_id=$1 [L,QSA]
修改
我没有类别文件夹只是我想要的URL,它会将我重定向到带有id参数的category.php
这是我得到的错误:
未找到
在此服务器上找不到请求的URL / site1 / category / 1 / area-rugs。
此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。
答案 0 :(得分:0)
RewriteRule
需要位于网站根文件夹中的htaccess文件中。
E.g。如果目录结构是这样的:
/webroot/site1.com/
/webroot/site1.com/.htaccess
/webroot/site1.com/index.php
/webroot/site1.com/category.php
我在.htaccess
中的site1.com
文件中包含此代码:
RewriteEngine On
# Force www
RewriteCond %{HTTP_HOST} ^site1.com
RewriteRule ^(.*)$ http://www.site1.com/$1 [R=301]
# Handle categories
RewriteRule ^category/([0-9]+) /category.php?c_id=$1 [L,QSA]