没有变量的简单重写规则


Simple RewriteRule with no variables

我想将mysite上的单个URL从sitename.com/test123.php更改为sitename.com/article-about-stuff。没有需要考虑的变量,只是一次性的URL更改。这在mod_rewrite和RewriteRule中可能吗?我目前有:

RewriteEngine on
RewriteRule ^article-about-stuff$ /test123.php [L,QSA]

此时,用户被重定向,但url被更改为test123.php。我想保留网址。

我还希望能够将任何流量重定向到test123.php/article-about-stuff我如何简单地写出目的地URL并用更漂亮的URL链接到它?

将以下指令添加到.htaccess(这将把请求从test123重定向到关于…的文章)

   RewriteCond %{ENV:REDIRECT_STATUS} !200
   RewriteRule ^test123'.php$ /article-about-stuff [NC,R=301,L]

注意:第一个条件确保以前没有进行重定向(以防止重定向循环)

您的问题的答案是"是的,这是可能的",但我不确定为什么您需要mod_rewrite来进行如此简单的重定向。

RedirectMatch ^test123'.php$ /test123.php

请参见何时不使用"重写"。