我在我的实时网站上做了 301 次重定向,类似于这个 url www.rosterelf/support-detail/1424/how-can-i-copy-shifts-from-a-一天到另一个到这个网址 www.rosterelf/support-detail/how-can-i-copy-shifts-from-a-day-to-another 并且它按照我的期望工作正常.这是我的 .htaccess 代码,我是如何让它工作的.
I have done 301 redirects on my live site something like from this url www.rosterelf/support-detail/1424/how-can-i-copy-shifts-from-a-day-to-another to this url www.rosterelf/support-detail/how-can-i-copy-shifts-from-a-day-to-another and its working fine as per my expectations. Here is my .htaccess code how I made it work.
RewriteRule ^(support-detail)/\d+/([\w-]+)/?$ /$1/$2 [R=301,NC,L]现在我想为我要重定向的博客再添加一个条件.
Now I want to add one more condition for my blog which I want to redirect.
例如,我有这个网址 www.rosterelf/blog-detail/2211/how-to-create-a-driving-team 我想重定向到 www.rosterelf/blog/how-to-create-a-spiring-team ,因此我将代码放在下面,但不幸的是它对我不起作用.
Say for example , I have this url www.rosterelf/blog-detail/2211/how-to-create-a-winning-team which I want to redirect to www.rosterelf/blog/how-to-create-a-winning-team and hence I put below code but unfortunately its not working for me.
RewriteRule ^(blog-detail)/\d+/([\w-]+)/?$ /blog/$1/$2 [R=301,NC,L]这就是我的 .htaccess 文件的样子.
This is how my .htaccess file looks like.
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On ## ## You may need to uncomment the following line for some hosting environments, ## if you have installed to a subdirectory, enter the name here also. ## # RewriteBase / ## ## Uncomment following lines to force HTTPS. ## # RewriteCond %{HTTPS} off # RewriteRule (.*) %{SERVER_NAME}/$1 [L,R=301] ## ## Allow robots.txt ## RewriteRule ^robots.txt - [L] ## 301 redirect for old support details page url to new one ## OLD URL www.rosterelf/support-detail/1903/how-can-employees-clock-inout-of-time-clock-different-slug ## NEW URL www.rosterelf/support-detail/how-can-employees-clock-inout-of-time-clock-different-slug RewriteRule ^(support-detail)/\d+/([\w-]+)/?$ /$1/$2 [R=301,NC,L] RewriteRule ^blog-detail/\d+/([\w-]+)/?$ /blog/$1 [R=301,NC,L] ## ## Black listed folders ## RewriteRule ^bootstrap/.* index.php [L,NC] RewriteRule ^config/.* index.php [L,NC] RewriteRule ^vendor/.* index.php [L,NC] RewriteRule ^storage/cms/.* index.php [L,NC] RewriteRule ^storage/logs/.* index.php [L,NC] RewriteRule ^storage/framework/.* index.php [L,NC] RewriteRule ^storage/temp/protected/.* index.php [L,NC] RewriteRule ^storage/app/uploads/protected/.* index.php [L,NC] ## ## White listed folders ## RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} !/.well-known/* RewriteCond %{REQUEST_FILENAME} !/storage/app/uploads/public/.* RewriteCond %{REQUEST_FILENAME} !/storage/app/media/.* RewriteCond %{REQUEST_FILENAME} !/storage/app/resized/.* RewriteCond %{REQUEST_FILENAME} !/storage/temp/public/.* RewriteCond %{REQUEST_FILENAME} !/themes/.*/(assets|resources)/.* RewriteCond %{REQUEST_FILENAME} !/plugins/.*/(assets|resources)/.* RewriteCond %{REQUEST_FILENAME} !/modules/.*/(assets|resources)/.* RewriteRule !^index.php index.php [L,NC] ## ## Block all PHP files, except index ## RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} \.php$ RewriteRule !^index.php index.php [L,NC] ## ## Standard routes ## RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>有人可以指导我如何解决这个问题吗?
Can someone guide me how can I resolve this ?
谢谢
推荐答案您可以有 2 个单独的重定向规则,如下所示:
You can have 2 separate redirect rules like this:
RewriteRule ^(support-detail)/\d+/([\w-]+)/?$ /$1/$2 [R=301,NC,L] RewriteRule ^blog-detail/\d+/([\w-]+)/?$ /blog/$1 [R=301,NC,L]确保完全清除浏览器缓存并将这些规则保留在 .htaccess 的顶部
Make sure you completely clear your browser cache and keep these rules at top of your .htaccess
顺便说一句,您可以将多个 黑名单文件夹 规则合并为一个:
btw you can combine multiple Black listed folders rules into one:
## ## Black listed folders ## RewriteRule ^(?:bootstrap|config|vendor|storage/(?:cms|logs|framework|temp/protected|app/uploads/protected))/ index.php [L,NC]更多推荐
Htaccess 301 博客重定向网址
发布评论