Seo-Friendly url与.htaccess

时间:2015-11-11 15:17:18

标签: apache .htaccess mod-rewrite

我已经找到了几个关于此问题的主题和问题,但似乎我要做的一切都没有做到它应该做的事情:

htaccess的文件

Options +FollowSymLinks

RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?site=$1 

正如你所知,没什么特别的。此示例取自此解决方案:SEO Friendly URL (with .htaccess)

从我的例子:

http://example.org/index.php?site=delivery

应该导致

http://example.org/Delivery # If it is possible, a capitalized Letter would be cool

我可以手动调用该站点,但不再包含引用(* .css文件)。此外,RewriteBase似乎不起作用。

我添加了一些有缺陷的代码来验证.htaccess文件是否已加载(并且已经加载)。

如果我使用<a href="index.php?site=mySite">取消某些内容 - 该网址会自动更改为特定规则吗?是的,对吗?但可能缺少的是规则不适用?

提前谢谢

1 个答案:

答案 0 :(得分:2)

你的规则没问题。由于重写,您必须以不同方式处理相对链接。

所以一旦规则到位。您需要将其添加到html的<head>部分。

<base href="http://www.yoursite.com" />

然后在使用规则时加载JS和CSS。这不是.htaccess规则问题。

  

如果我对某事感兴趣 - 是吗?   URL会自动更改为特定规则吗?

不,不。你也需要一个规则。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond {THE_REQUEST} ^[A-Z]{3,}\ /+index\.php\?site=(.+)
RewriteRule ^ %1? [R=301,L]

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?site=$1