网站

时间:2018-02-08 20:40:39

标签: php .htaccess

我正在运营一个网站,并在谷歌遇到了索引问题。主要是因为我使用基于php标识符的链接,如?go=7

现在我创建了一个.htaccess文件:

RewriteEngine On
RewriteBase /
RewriteRule ^tubes/([*]+)\.html$ index.php?tubeID=$1 [L]

我也试过了一个不同的正则表达式:

^tubes/([A-Za-z0-9-]+)/?$

文件本身正在运行,因为当我在其中输入错误时,网站崩溃了。尝试使用此脚本/说明https://docs.bolt.cm

我真的被困住了。对此有何帮助?

2 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式:

RewriteRule ^tubes\/([^\/]+)\.html?$ index.php?tubeID=$1 [L]

这将捕获匹配的所有网址,如下所示:

http://example.com/tubes/34000005.html
http://example.com/tubes/my-video-id.html

说明

tubes\/  Make sure the url starts with tubes/
([^\/]+) Capture everything that is not a slash (/)

更新

要反向重定向,请添加以下内容:

RewriteCond %{QUERY_STRING} ^tubeID=([0-9]*)$
RewriteRule ^index\.php$ http://example.com/tubes/%1.html [R=302,L]

这会将http://example.com/index.php?tubeID=10重定向到http://example.com/tbues/10.html

答案 1 :(得分:0)

为什么不尝试:

RewriteEngine On
RewriteBase /
RewriteRule ^tubes/(.*)\.html$ index.php?tubeID=$1 [L]

然后,您要访问的网址将如下所示:

http://swissnixie.com/tubes/34000005.html