小编Bar*_*ock的帖子

.htaccess用问号"?"重写URL

我的目标是这个网址:

component/users/?view=registration
Run Code Online (Sandbox Code Playgroud)

至:

registration.html
Run Code Online (Sandbox Code Playgroud)

.htaccess是在网站的文件夹mysite的.

我试过这个:

RewriteBase /mysite
RewriteRule ^component/users/?view=registration$ registration.html$ [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但我不工作......

当我尝试这个:

RewriteRule ^component/users/_view=registration$ registration.html$ [R=301,L]
Run Code Online (Sandbox Code Playgroud)

它运作得很好.

那我怎么能用问号解决这个问题呢.我已经读过它,它不是URL的一部分(附加).我已经读过我必须使用像querystring这样的东西,但我并不真正理解语法.

也许有人可以写出这个问题的解决方案?会很棒=)

url .htaccess mod-rewrite

10
推荐指数
1
解决办法
2万
查看次数

如何使用htaccess重写从url中删除此目录/文件夹?

我的目标是:

domain.com/folder
Run Code Online (Sandbox Code Playgroud)

重写 - >

domain.com
Run Code Online (Sandbox Code Playgroud)

这将涉及该站点内的所有链接.我的意思是在网站上的链接像:

domain.com/folder/forum.html
domain.com/folder/community.html
Run Code Online (Sandbox Code Playgroud)

等等

这是我的目标:

domain.com/forum.html
domain.com/community.html
Run Code Online (Sandbox Code Playgroud)

等等

并且非常重要的是"文件夹"永远不会出现在地址栏中的网址中.

我尝试过很多代码,但我无法解决这个问题.我最好的尝试是使用此代码:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.*)folder
RewriteRule ^(.*)$ folder/$1 [L]
Run Code Online (Sandbox Code Playgroud)

如果我进入

 domain.com 
Run Code Online (Sandbox Code Playgroud)

我得到的内容

 domain.com/folder
Run Code Online (Sandbox Code Playgroud)

显示什么是正确的("文件夹"不在显示的URL中).但是,当我点击该网站的一些链接,如:domain.com/folder/community.html然后我可以再次看到网址中的"文件夹",但我希望它始终被删除.

这是我的网站:

thewedgiecommunity.x10.mx/wedgiecommunity/
Run Code Online (Sandbox Code Playgroud)

我的目的是删除"wedgiecommunity"(=文件夹)此链接正常工作

  thewedgiecommunity.x10.mx/
Run Code Online (Sandbox Code Playgroud)

但是当你点击社区(

 thewedgiecommunity.x10.mx/wedgiecommunity/community.html
Run Code Online (Sandbox Code Playgroud)

)然后我再次在URL中"wedgiecommunity".

当有人可以帮助我时会很棒

directory url .htaccess mod-rewrite rewrite

6
推荐指数
1
解决办法
1万
查看次数

.htaccess只为1个特定的URL重写带有问号"?"的URL

几个星期前我已经开始了一个话题.但我现在遇到了一个与旧问题非常相似的新问题:.htaccess重写URL带有问号"?"

我的目标是这个网址:

/mysite/component/users/?view=registration
Run Code Online (Sandbox Code Playgroud)

重写到这个新网址:

mysite/registration.html
Run Code Online (Sandbox Code Playgroud)

我目前.htaccess得到了这段代码:

RewriteBase /mysite

RewriteCond %{QUERY_STRING} ^view=(.*)$
RewriteRule ^component/users/?$ %1.html? [R=301,L]
Run Code Online (Sandbox Code Playgroud)

它工作得非常好.

但后来我注意到这个配置涉及所有以这样开头的URL:

/mysite/component/users/?view=
Run Code Online (Sandbox Code Playgroud)

例如,这个配置也会涉及这样的URL:

/mysite/component/users/?view=remind
Run Code Online (Sandbox Code Playgroud)

这是我不想要的

我只想重写这个URL:

localhost/mysite/component/users/?view=registration
Run Code Online (Sandbox Code Playgroud)

.htaccess mod-rewrite url-rewriting query-string

5
推荐指数
1
解决办法
2754
查看次数