Php mod_重写和301重定向在同一htaccess中

Php mod_重写和301重定向在同一htaccess中,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我有以下.htaccess文件: RewriteEngine on Options +FollowSymLinks RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule (.*)$ ./page.php?name=$1 我也有大约20个不同的静态地址,我想做一个301重定向到 它应该看起来像: Redirect 301 http://www.example.com/category

我有以下.htaccess文件:

RewriteEngine on
Options +FollowSymLinks

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule (.*)$ ./page.php?name=$1
我也有大约20个不同的静态地址,我想做一个301重定向到

它应该看起来像:

Redirect 301 http://www.example.com/category.php?id=3 http://www.example.com/books
Redirect 301 http://www.example.com/articles.php?id=124 http://www.example.com/birds
我尝试了各种方法,但都失败了


有人能帮帮我吗?

我猜你需要一组搜索引擎优化友好的URL,在你的重定向示例中,如果是这种情况,那么你不需要浏览器重定向,而是需要内部重定向或别名,例如

RewriteRule ^/?books /category.php?id=3    [L]
RewriteRule ^/?birds /articles.php?id=124  [L]

如果您有很多规则,可以访问<强> HTPD.CONF<强>,您可能需要考虑重写映射文件和规则。

根据您下面的评论,如果您想强制用户/爬虫使用新的URL结构,则需要在文件中添加一组重写规则(而不是重定向),例如


<强> FY:<强> Apache文档值得一读,如果您不清楚上面的规则是怎么做的,或者如果您想要一些更抽象的东西,请考虑下面的内容。p> 我猜你在寻找一组搜索引擎优化友好的URL,如果是这样的话,你就不需要浏览器重定向,而是需要一个内部重定向或别名,例如

RewriteRule ^/?books /category.php?id=3    [L]
RewriteRule ^/?birds /articles.php?id=124  [L]

如果您有很多规则,可以访问<强> HTPD.CONF<强>,您可能需要考虑重写映射文件和规则。

根据您下面的评论,如果您想强制用户/爬虫使用新的URL结构,则需要在文件中添加一组重写规则(而不是重定向),例如


<强> FY:<强> Apache文档值得一读,如果您不清楚上面的规则是怎么做的,或者如果您想要一些更抽象的东西,请考虑下面的内容。p> 应该发生什么?发生了什么事?没有发生什么?在

phpinfo()
中快速搜索
mod_rewrite
将告诉您是否加载了
mod_rewrite
模块。如果您没有看到它,那么您需要请求您的服务器公司添加它。我得到一个500错误。我已经在我的服务器上重写了mod_,因为它正在工作。问题在于添加301重定向。应该发生什么?发生了什么事?没有发生什么?在
phpinfo()
中快速搜索
mod_rewrite
将告诉您是否加载了
mod_rewrite
模块。如果您没有看到它,那么您需要请求您的服务器公司添加它。我得到一个500错误。我已经在我的服务器上重写了mod_,因为它正在工作。问题在于添加301重定向。恰恰相反。May htaccess文件现在正在处理SEO友好URL。问题是当我想将旧地址转换为新的友好URL地址时。由于某些原因,我的htaccess文件不会在同一个文件中删除2个重写规则句子。如果您在问题中这样说,请更新上面的答案,以反映情况,这会有所帮助。这非常有效。只有一个问题:出于某种原因,你所做的重定向将指向我。是否可以删除结果中的查询字符串?是的,选项中的QSD或?在目标会做到这一点,将调整答案QSD在选项创建了一个50错误,但?工作得很好。再次感谢,正好相反。May htaccess文件现在正在处理SEO友好URL。问题是当我想将旧地址转换为新的友好URL地址时。由于某些原因,我的htaccess文件不会在同一个文件中删除2个重写规则句子。如果您在问题中这样说,请更新上面的答案,以反映情况,这会有所帮助。这非常有效。只有一个问题:出于某种原因,你所做的重定向将指向我。是否可以删除结果中的查询字符串?是的,选项中的QSD或?在目标会做到这一点,将调整答案QSD在选项创建了一个50错误,但?工作得很好。再次感谢。