ipage上的.htaccess rewriterule语法

时间:2013-06-02 22:30:16

标签: regex .htaccess http-status-code-404

我的伙伴和我正在使用ipage托管我们的网站,但我们只是在我们的.htaccess中遇到一个小问题。

我们想让我们的网址SEO友好(和整洁)并且重写不起作用,我们不断收到404错误。我只是想验证语法是否正确。我用ipage对它进行了质询,他们说安装了mod_rewrite,并且设置了allowoverride all,但是对正则表达式无能为力。

网址是:

http:// www.example.com/article.php?title=Some-Article

我们希望成功:

http:// www.example.com/Some-Article

整个htaccess文件:

# Protect db_connect
<files db_connect.php>
order allow,deny
deny from all
</files>

# Protect .htaccess
<files .htaccess>
order allow,deny
deny from all
</files>

Options +FollowSymLinks 
Options +Indexes
RewriteEngine On

# Remove .php but still allow addressing .php
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteRule ^([^/]*)/$ /article.php?title=$1 [L]

我会非常感激任何帮助,因为我已搜索了几个小时,并且还测试了http://www.generateit.net/mod-rewrite/生成的语法而没有运气。

此致

亚当

1 个答案:

答案 0 :(得分:0)

谢谢你们,

我的伙伴和我最终对它进行了排序,我们改变了后端的一些内容,以便更改网址:

http:// www.example.com/article.php?title=Some-Article

为:

http:// www.example.com/article.php?article=Some-Article

然后通过对.htaccess文件的以下调整,我们得到了它的工作:

RewriteEngine On
RewriteRule page/([^/]*)/$ /index.php?p=$1 [L]
RewriteRule ^product/([^/]*)$ /article.php?article=$1 [L]
RewriteRule ^([^/]*)/$ /index.php?sort=$1 [L]
RewriteRule ^([^/]*)/page/([^/]*)$ /?sort=$1&p=$2 [L]

所以我们现在形成了以下网址:

http:// www.example.com/page/2

http:// www.example.com/product/Some-Product /

http:// www.example.com /

http:// www.example.com/category/page/2

调试确实有所帮助,感谢它,我在php.ini中调高了错误报告级别并将其输出到我可以通过FTP访问的文件。