首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >301将文件重定向到干净的url

301将文件重定向到干净的url
EN

Stack Overflow用户
提问于 2011-06-19 02:09:35
回答 1查看 357关注 0票数 1

为我的页面重定向工作。我有一个所有新旧网址的列表。

旧的urls是/directory/subdirectory/file.php

新的urls是干净的urls

/目录/子目录/文件/

一些新的urls与没有".php“的旧urls匹配,而另一些则不匹配。

一个网页建议:

代码语言:javascript
复制
RedirectMatch 301 ^/sales/products/item$ /products/item-name/

但是下面的代码会给我一个重定向循环吗?

代码语言:javascript
复制
RedirectMatch 301 ^/privacy-policy$ /privacy-policy/

我还没有试过,但希望不会给自己带来麻烦。

EN

回答 1

Stack Overflow用户

发布于 2011-06-19 02:41:04

使用Apache的mod_rewrite --将以下行添加到您的.htaccess文件中:

代码语言:javascript
复制
# Activate Rewrite Engine
RewriteEngine On

# redirect *.php to "nice" url
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.php$ $1/ [R=301,QSA]

# process "nice" urls by looking for appropriate .php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1.php [L,QSA]

这些规则将做两件事:

1)将*.php重定向(301)到“好的”urls:directory/subdirectory/file.php将变成directory/subdirectory/file/

2)正确服务这类“好的”urls,例如directory/subdirectory/file/将被视为directory/subdirectory/file.php

P.S.如果重定向不起作用(根据配置有时可能会发生),请尝试在$1前添加斜杠(例如/$1 )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6397923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档