【发布时间】:2013-06-22 00:43:13
【问题描述】:
大家好,我需要使用 htaccess 缩短我的网址 喜欢
之前
www.mysite.com/obj/task/profile/id/1568/用户名
之后
www.mysite.com/1568/用户名
或
之前
www.mysite.com/obj/task/page/city/41280/pageId/22/clubs//Test%20town
之后
www.mysite.com/41280/22/clubs//Test%20town
我如何使用 htaccess 实现这一点
我的 htaccess 文件有这个
RewriteEngine on
Options +FollowSymlinks
Options -Indexes
RewriteCond %{REQUEST_URI} (.+)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
AddDefaultCharset utf-8
RewriteRule (.*) index.php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.com [NC]
RewriteRule ^(.*)$ http://www.test.com/$1 [L,R=301]
建议更改
<files .htaccess>
order allow,deny
deny from all
</files>
php_value memory_limit 170M
RewriteEngine on
Options +FollowSymlinks
Options -Indexes
RewriteCond %{REQUEST_URI} (.+)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
AddDefaultCharset utf-8
RewriteRule (.*) index.php
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} !^$ [NC]
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# THIS RULE FOR FOR INACTIVE HTTPS
#RewriteCond %{HTTP_HOST} !^www.*$ [NC]
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# from /obj/task/profile/id/1568/username
# to /1568/username
RewriteRule ^obj/task/profile/id(/.+)$/$1 [R=302,L,NC]
# from obj/task/page/city/41280/pageId/22/clubs//Test%20town
# to 41280/22/clubs//Test%20town
RewriteRule ^obj/task/page/city/([^/]+)/pageId(/.+?)/?$ /$1/$2 [R=302,L,NC,NE]
我访问过 www.mysite.com/obj/task/profile/id/1568/username 链接仍然没有缩短。
【问题讨论】:
-
/obj/task/profile/idOR/obj/task/page/city/是静态文本吗? -
什么是静态文本?此外,当用户登录并访问他自己的个人资料时,网址是 www.mysite.com/dtf/task/profile。
-
您希望两者都显示相同的页面吗?或者将访问较长版本的用户重定向到较短的版本?或者将访问较短的用户重定向到较长的用户?
-
Shorten Url using htaccess 的可能重复项
-
我希望用户被重定向到更短的版本