当url包含路径时,.htaccess无法正常工作

时间:2014-09-11 12:53:54

标签: .htaccess mod-rewrite

我搜索了stackoverflow和众多网站以获得答案。所以如果已经在stackoverflow上回答,请不要开枪。我被卡住了。

我只需要一个简单的重定向,将我的网站名称之后的任何内容放入$ target的查询字符串中,除非路径包含在url中。

当给出路径时它不起作用。

例如)

  • mysite.com.au/homemysite.com.au/?target=home
  • mysite.com.au/home/mysite.com.au/?target=home
  • mysite.com.au/home/somethingmysite.com.au/home/something
  • mysite.com.au/home/something/mysite.com.au/home/something
  • mysite.com.au/home/something/file.phpmysite.com.au/home/something/file.php

以下在我的.htaccess文件中。它仅适用于上述条件1.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ?target=$1

有人可以告诉我更好/正确的网址重定向方式或知道如何执行此操作吗? 我不想使用特定的301重定向。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以将此代码放入htaccess(必须位于文档根文件夹中)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /?target=$1 [L]