我的伙伴和我正在使用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/生成的语法而没有运气。
此致
亚当
答案 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访问的文件。