我正在尝试执行以下操作...
需要重写,重命名或重定向的原始路径:
http://www.example.com/_plugin/notifications/
收件人:
http://www.example.com/notifications/
通过root htaccess文件...任何帮助将不胜感激!
================================================ ==================
这不起作用:
RewriteEngine On
RewriteRule ^/_plugin/notifications$ /notifications [L]
这也不起作用:
RewriteEngine On
RedirectMatch ^/_plugin/notifications$ /notifications/
这也不起作用:
RewriteEngine On
RewriteRule ^notifications/(.*)$ /notifications$1 [R=301,NC,L]
============================
编辑
在@Starkeen的帮助下-我对此有一些后续问题。
============
在后续问题#1上仍需要帮助,但我相信我遇到了问题#2。
(我认为)后续问题2的解决方案:
RewriteCond %{THE_REQUEST} /_plugin/notifications/ [NC]
RewriteRule ^_plugin/notifications/(.*)$ /notifications/$1 [L,R]
RewriteRule ^notifications/(.*)$ /_plugin/notifications/$1 [L]
答案 0 :(得分:1)
您尝试过的所有规则都不正确。
要将/folder/subfolder
重定向到/root/subfolder
,您需要一个永久的301重定向规则,如下所示:
RewriteEngine on
RewriteCond %{THE_REQUEST} /folder/subfolder/ [NC]
RewriteRule ^folder/subfolder/$ /subfolder/ [L,R]
以上内容将http://example.com/folder/subfolder/
重定向到http://example.com/subfolder
。
如果/subfolder/
在根目录中不存在,则会出现404错误。为避免404错误,您可以使用内部/subfolder/
将/folder/subfolder/
uri改写回其原始位置Rewrite
,只需将第一个
:
RewriteRule ^subfolder/?$ /folder/subfolder/ [L]