2013-03-29 211 views
1

我想重定向这种形式的网址替换的.html /page/?variable=value&othervar=true&thirdvar=100.htaccess的正斜杠

所以基本上我只是想更换.html中的中间URLforward slash,但我需要保留它随附的获取字符串。这是我的尝试:

重写规则^ page.html中(+)$ /页/ $ 1 [L,R = 301]

但是,这似乎并没有为我工作。最近我做了类似的事情,但我无法弄清楚我在这里失踪的事情。感谢您的任何意见。

+0

哎呦,我应该用降价的系统。我还是这个新手。感谢您的帮助,Viktor。 – jaysonkostelyk

回答

5

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_ROOT目录:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

# external redirect from /example.html to /example 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+([^.]+)\.html [NC] 
RewriteRule^/%1/ [R=301,L] 

# internal forward from /example/ to //example.html 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{DOCUMENT_ROOT}/$1.html -f 
RewriteRule ^(.+?)/?$ /$1.html [L] 
+0

对兄弟!这对我来说非常合适。非常感谢您的快速响应! – jaysonkostelyk

+0

不客气,很高兴它解决了。 – anubhava

+0

我会upvote你的答案,但我没有足够的声誉,哈哈。 – jaysonkostelyk