好的,我正在寻找使用mod重写来为我的网站编写seo友好的网址。它在我的xampp本地测试服务器上运行正常。但是,当我试图将它投入使用时,我遇到了问题,它似乎根本不起作用。
这是我在htaccess文件中写的内容:
RewriteEngine On
RewriteRule ^category/([a-zA-Z0-9]+)$ category.php?location=$1
因此,我们的想法是将mysite.com/category.php?location=london
更改为mysite.com/category/london
。
最初我虽然可能是在GoDaddy结束时修改重写的能力的问题,所以我联系了GoDaddy以查看是否是这种情况并且他们的回答是:“Mod_rewrite是一个Apache Web服务器模块默认情况下安装在我们所有的Linux服务器上;它不必安装或启用。我们的Linux主机帐户支持大多数mod_rewrite函数。因为启用mod_rewrite是在全局级别处理的,所以你不需要在httpd中启用它。 conf文件。您只需要将所需的代码添加到.htaccess文件的正文中。“
他们基本上暗示错误不在于他们和我的代码。我对mod重写并不是很有经验,当我在其他服务器上这样写时,它似乎工作得很好。你有什么特别的东西要和godaddy一起写吗?我错过了什么吗?谢谢!
答案 0 :(得分:1)
这都在你的htaccess文件中吗?访问所需的URL时会出现什么错误,是500内部服务器错误吗?
我默认添加的是If语句:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^category/([a-zA-Z0-9_-]+)$ category.php?location=$1 [L]
</IfModule>
顺便说一句,请注意规则中charset末尾的_-
,例如纽约有一个new-york
的SEF版本,category/new-york
会在你的RewriteRule中失败