如何在.htaccess文件中设置url重写?

时间:2017-10-17 19:21:28

标签: .htaccess mod-rewrite

我有一个重定向脚本,可以使用此URL重定向

  

http://my-domain.com/URL.php?url=http://www.google.com

我想将网址重写为

  

http://my-domain.com/?url=http://www.google.com

  

http://my-domain.com/?http://www.google.com

我知道这可以用.htaccess完成,所以我自己尝试了一些代码。我在我的web目录中创建了一个.htaccess文件,我输入了一些代码,例如:

# Prevent Apache from serving .ht* files:
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.my-domain.com$ [NC]
RewriteRule ^(.*)$ http://my-domain.com/$1 [R=301,L]
RewriteRule ^embed/([^\.]+)\.php$ /$1 [L]
RewriteRule URL.php /

但它仍然不起作用,我在这里做错了什么

1 个答案:

答案 0 :(得分:2)

试试这个。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^url/(.*)$ /URL.php?url=$1 [L]

示例:http://yoursite.com/url/http://www.google.com

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^go/(.*)$ /URL.php?url=$1 [L]

示例:http://yoursite.com/go/http://www.google.com

最好以这种方式使用它。