基本上我正在尝试从这个旧网址移动所有网址:
到一个新的网址(当我将我的网站移动到新系统时,所有外部链接都不起作用)
http://www.gamingonlinux.com/articles/crusader-kings-2-will-be-released-for-linux-today.1629
有人可以帮我这样做吗?
基本上我正在尝试从这个旧网址移动所有网址:
到一个新的网址(当我将我的网站移动到新系统时,所有外部链接都不起作用)
http://www.gamingonlinux.com/articles/crusader-kings-2-will-be-released-for-linux-today.1629
有人可以帮我这样做吗?
你可以试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/index\.php$ [NC]
RewriteCond %{QUERY_STRING} ^[^/]+/([^/]+)/? [NC]
RewriteRule .* articles/%1? [R=301,L]
永久重定向
http://www.gamingonlinux.com/index.php?anything/query
带或不带斜杠
至:
http://www.gamingonlinux.com/articles/query
在主目录的 .htaccess 中,这些方面的东西应该可以工作:
RewriteEngine on
RewriteRule ^articles/([^/\.]+)$ index.php?threads/$1/ [L]
如果没有,Google 和 Bing 上有大量关于 mod_rewrite 和正则表达式的文档!
编辑:据我了解,您希望“/articles/”网址指向“index.php?thread”网址。如果我理解正确,您希望它反过来,如下所示:
RewriteEngine on
RewriteRule ^index.php?threads/([^/\.]+)/$ articles/$1 [L]
EDIT2:由于网址中的问号,出现了一点问题。之后的所有内容都成为 QUERY_STRING 而不是 url 的一部分。我已经测试了以下代码,它可以工作:
RewriteEngine on
RewriteCond %{QUERY_STRING} threads/(.*)
RewriteRule ^index\.php$ articles/%1 [L]
希望有帮助。