有关.htaccess重写规则的帮助。需要将用户从一个URL转到另一个URL

有关.htaccess重写规则的帮助。需要将用户从一个URL转到另一个URL,.htaccess,url-rewriting,mod-rewrite,.htaccess,Url Rewriting,Mod Rewrite,我想要键入 http://www.example.com/word-of-the-day 被带到 http://www.example.com/index.php?page=word-of-the-day 但是我想要 http://www.example.com/word-of-the-day 将显示在用户的URL中 在.htaccess中我应该做什么?我试过了,但没有找到正则表达式 重写规则的语法对我来说太复杂了 弄清楚怎么做 任何帮助都将不胜感激 编辑: 还有,我怎么能在htacces

我想要键入

http://www.example.com/word-of-the-day
被带到

http://www.example.com/index.php?page=word-of-the-day
但是我想要

http://www.example.com/word-of-the-day
将显示在用户的URL中

在.htaccess中我应该做什么?我试过了,但没有找到正则表达式 重写规则的语法对我来说太复杂了 弄清楚怎么做

任何帮助都将不胜感激

编辑:

还有,我怎么能在htaccess中这样说-

如果他们键入
http://www.example.com/word-of-the-day
,带他们去
http://www.example.com/index.php?page=word-当天的日期

或者如果他们键入
http://www.example.com/something-else
,带他们去
http://www.example.com/index.php?page=something-其他

或者,把他们带到他们键入的URL。

试试这个

RewriteEngine on 
RewriteRule ^word-of-the-day$ index.php?page=word-of-the-day
还是更灵活

RewriteEngine on 
RewriteRule ^(.*)$ index.php?page=$1
没有测试,但它应该能工作

您的编辑:

只需手动定义这些特定URL:

RewriteEngine on 
RewriteRule ^word-of-the-day$ index.php?page=word-of-the-day
RewriteRule ^word-some-example$ index.php?page=some-example
RewriteRule ^some-other$ index.php?page=some-other
试试这个

RewriteEngine on 
RewriteRule ^word-of-the-day$ index.php?page=word-of-the-day
还是更灵活

RewriteEngine on 
RewriteRule ^(.*)$ index.php?page=$1
没有测试,但它应该能工作

您的编辑:

只需手动定义这些特定URL:

RewriteEngine on 
RewriteRule ^word-of-the-day$ index.php?page=word-of-the-day
RewriteRule ^word-some-example$ index.php?page=some-example
RewriteRule ^some-other$ index.php?page=some-other

下面的条件检查是否未请求index.php。如果没有,请应用规则。这适用于上面列出的任何场景

RewriteCond %{QUERY_STRING}  ^!.*[index\.php].*$ [NC]    
RewriteRule ^(.*)$ index.php?page=$1 [L]
对于您关于只希望在几个特定页面上执行此操作的评论,它看起来是这样的(作为Nils edit的替代方案):


下面的条件检查是否未请求index.php。如果没有,请应用规则。这适用于上面列出的任何场景

RewriteCond %{QUERY_STRING}  ^!.*[index\.php].*$ [NC]    
RewriteRule ^(.*)$ index.php?page=$1 [L]
对于您关于只希望在几个特定页面上执行此操作的评论,它看起来是这样的(作为Nils edit的替代方案):


请查看我的编辑。如果我想像我说的那样指定三个条件呢。你的第一段代码行得通吗?就像,我有2-3个特定的URL,我需要为它们重写URL,但对于其余的,我只需要保持这样。你明白我的问题了吗?是的…一个很普通的问题。您必须手动指定它们。因此,这将处理这3个特定的URL,并且如果URL采用任何其他格式,则不会涉及这些URL。谢谢你的回答!如果为了使其更具体,我只想在请求URI部分(而不是查询字符串部分)中存在字符串“每日单词”时进行重写,该怎么办?在我的问题中,我尝试了类似于
RewriteCond%{REQUEST_URI}^word of the day$RewriteRule index.php?page=word of the day[L]
的东西,但它不起作用。有什么建议吗?谢谢,请查看我的编辑。如果我想像我说的那样指定三个条件呢。你的第一段代码行得通吗?就像,我有2-3个特定的URL,我需要为它们重写URL,但对于其余的,我只需要保持这样。你明白我的问题了吗?是的…一个很普通的问题。您必须手动指定它们。因此,这将处理这3个特定的URL,并且如果URL采用任何其他格式,则不会涉及这些URL。谢谢你的回答!如果为了使其更具体,我只想在请求URI部分(而不是查询字符串部分)中存在字符串“每日单词”时进行重写,该怎么办?在我的问题中,我尝试了类似于
RewriteCond%{REQUEST_URI}^word of the day$RewriteRule index.php?page=word of the day[L]
的东西,但它不起作用。有什么建议吗?感谢此重写规则适用于格式为的任何URL,对吗?我不想那样。我希望只为2-3个URL重写tit,但其他URL我需要让它们单独使用。如果您只想为几个页面专门重写tit,请查看下面的Nils first建议,并将其复制到您想要的每个页面。此重写规则适用于任何格式的URL,对吗?我不想那样。我希望只为2-3个URL重写tit,但其他的我需要把它们放在一边。如果你只想专门为几个页面重写,请看下面的Nils first建议,并将其复制到你想要的每个页面。