【发布时间】:2016-07-02 22:11:43
【问题描述】:
我有一个网站,其中包含 about.php、contact.php 和 test.php?id=xyz 等页面。
我添加了以下重定向以使其对 seo 友好。
Options -Indexes -MultiViews
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.krishibazar\.org$ [NC]
RewriteRule ^(.*)$ http://www.krishibazar.org/$1 [R=301,L]
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
这给了我
mydomain.com => www.mydomain.com
mydomain.com/about.php => www.mydomain.com/about
mydomain.com/test.php?id=12 => www.mydomain.com/test?id=12
mydomain.com/about/ => CSS Error
它工作得很好,除非我在最后添加一个斜杠,它给出的错误。所以要么建议我防止错误或添加尾部斜杠。
【问题讨论】:
-
在页面 HTML 的
<head>部分下方添加:<base href="/" /> -
这对我也有用,除了现在 about 和 about/ 都在打开。它可能会创建 SEO 重复项。你说什么?
标签: php .htaccess url-redirection friendly-url