Apache htaccess 301规则不存在';t重定向
我似乎不知道如何301重定向旧URLApache htaccess 301规则不存在';t重定向,apache,.htaccess,Apache,.htaccess,我似乎不知道如何301重定向旧URLhttps://www.mydomain.com/old_url/至https://www.mydomain.com/new_url/ 我目前的htaccess中有以下内容(请注意与此问题相关的第二条规则): 我也在使用Django,如果这有区别的话。非常感谢您的帮助。以下几点应该很好: Options +FollowSymLinks RewriteEngine On RewriteRule ^old_url$ /new_url [L,R=301] Rewri
https://www.mydomain.com/old_url/
至https://www.mydomain.com/new_url/
我目前的htaccess中有以下内容(请注意与此问题相关的第二条规则):
我也在使用Django,如果这有区别的话。非常感谢您的帮助。以下几点应该很好:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^old_url$ /new_url [L,R=301]
RewriteRule ^old_url/(.*) /new_url/$1 [L,R=301]
与此相反:
RewriteCond %{THE_REQUEST} ^GET\ /old_url/
RewriteRule ^/old_url$ https://www.mydomain.com/new_url [R=301,nc]
你可以试试这个:
RewriteCond %{REQUEST_URI} old_url/(.*)
RewriteRule .* https://www.mydomain.com/new_url/%1 [R=301,QSA,NC]
将重定向:
https://www.mydomain.com/old_url/whatever
致:
https://www.mydomain.com/new_url/whatever
已更新
如果不复制URI的其余部分(“任何内容”),请使用以下命令:
RewriteCond %{REQUEST_URI} old_url.*
RewriteRule .* https://www.mydomain.com/new_url [R=301,QSA,NC]
那也没用。当我访问旧的URL时,仍然得到404。@AbidA您是否将
.htaccess
放在Web服务器的根目录中?尝试使用“我的更新”(您可能没有将这些选项设置为默认设置)。文件位于正确的位置,因为其他规则可以正常工作。我尝试了你的更新和相同的404。@AbidA只是为了确保它正在加载.htaccess
文件,试着在那里键入一些伪代码(例如riwrotengine Of
,或者一个简单的akljdlad
),看看你是否会得到你应该得到的500
。这似乎是你所说的。但是,我不关心无论什么
部分,我使用了RewriteCond%{REQUEST\u URI}old\u url/RewriteRule^/$https://www.mydomain.com/new_url/ [R=301,QSA,NC]
好吧,我只是为了以防万一才添加的,但是当没有任何东西时它不会影响规则。谢谢更新。我想做的一件事是将匹配限制为old\u url
或old\u url/
-这可能吗?现在,我可以在old_url
之后键入任何内容,但我不希望以后与其他url发生潜在冲突。是的,但请注意,任何尾随空格都会导致条件失败。只需更改条件,如下所示:old\u url/?$
RewriteCond %{REQUEST_URI} old_url.*
RewriteRule .* https://www.mydomain.com/new_url [R=301,QSA,NC]