简单重定向到重写的URL

时间:2017-03-15 00:54:49

标签: php .htaccess mod-rewrite

我有一些PHP页面要为其重写URL,然后将原始URL重定向到重写的URL。以下示例:

旧PHP网址:/this-page-is-useful.php

新网址:/ useful /

我可以在我的.htaccess中使用此代码使用RewriteRule:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/useful/
RewriteRule ^useful/$ this-page-is-useful.php

所以我可以在/ useful /中查看/this-page-is-useful.php - 这就是我想要的。

但现在我想将/this-page-is-useful.php重定向到/有用/通过.htaccess

我试过的任何东西给了我一个内部错误或重定向循环。这一定很简单 - 但我可以搞清楚。

2 个答案:

答案 0 :(得分:0)

您可以使用RedirectMatch,如下所示

RedirectMatch 301 ^/this-page-is-useful\.php$ /useful/

答案 1 :(得分:0)

从类似的帖子中找到我的答案,只是根据我的情况改变它:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /this-page-is-useful\.php? [NC]
RewriteRule ^ useful/$1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^useful/(.*)$ /this-page-is-useful.php$1 [L,QSA]

我发现RewriteBase是一个重要因素。