我想在Linux主机中使用.htaccess文件将链接重定向到另一个链接。你能救我吗?
from: http://example.com/examp
to: http://example.com/examp.php
另一个用于我的其他网站
from: http://example.com/examp
to: http://example.com/user.php?u=examp
答案 0 :(得分:5)
您需要为此启用 mod_rewrite 。首先将这些行放入.htaccess:
RewriteEngine On
RewriteBase /
TBH我不是100%确定你的确切意思是永久链接以及你想如何重定向,所以我将为每个URL提供2个变体:重写(内部重定向)和重定向(301永久重定向)。 / p>
1。这将重写(内部重定向)http://example.com/examp
到http://example.com/examp.php
的请求,而URL将在浏览器中保持不变:
RewriteRule ^examp$ examp.php [L]
2。这将与上面相同,但是当URL将在浏览器中更改时,具有适当的重定向(301永久重定向):
RewriteRule ^examp$ http://example.com/examp.php [R=301,L]
3。这将重写(内部重定向)http://example.com/examp
到http://example.com/user.php?u=examp
的请求,而URL将在浏览器中保持不变:
RewriteRule ^examp$ user.php?u=examp [QSA,L]
4。这将与上面相同,但是当URL将在浏览器中更改时,具有适当的重定向(301永久重定向):
RewriteRule ^examp$ http://example.com/user.php?u=examp [QSA,R=301,L]
答案 1 :(得分:1)
您需要为此
启用mod_rewrite来自:http://example.com/123 致:http://example.com/index.php?q=123
RewriteEngine on
RewriteBase /
RewriteRule ^/?([-A-Za-z0-9]+)/?$ index.php?q=$1 [QSA,L]
答案 2 :(得分:0)
您需要查看RewriteRules并了解/理解正则表达式。它会是这样的:
RewriteEngine on RewriteRule ^(.*)\/examp$ /examp.php [R=301,L] - and - RewriteRule ^(.*)\/[a-zA-Z0-9\-\_\.]+$ /user.php?u=$1 [R=301,L]
后一个例子将采用[]之间的内容并将其置于$ 1变量
中这是一个很好的链接,可以帮助您入门: http://www.webweaver.nu/html-tips/web-redirection.shtml