一个我希望听起来不疯狂的问题:在一个多语言站点上,假设有几个实际的文件,其中的内容目前在其文件名下是可访问的:
website.org/en/tomato.php
website.org/nl/tomato.php
website.org/de/tomato.php
这些都是同一个php文件,它前面的文件夹告诉php获取什么内容。现在,这个名称对于我的文件管理器来说是简短而方便的,但是对于搜索引擎来说,这些文件名都是非常不吸引人的。那么,有什么方法可以让这些平面文件具有更奇特的名称,比如:
website.org/en/tomato.php-fist-The-Forgotten-Red-Punch
website.org/nl/tomaat.php-vuist-De-Vergeten-Rode-Vuist
website.org/de/tomate.php-faust-Die-Fergessen-Rote-Faust
目前,我的php支持文件名前面的文件夹/en/
或/nl/
,并将正确的语言放入tomato.php文件中。
我的梦想是有一个每种语言的文件名,然后以某种方式告诉php/apache让它工作,并在命名引擎下看不见地获取正确的文件。
我真的还没有准备好使用cms框架,我很高兴我可以自己管理我的平面文件。有什么有创意的方式来管理链接,这样我就可以在水面上更有异国情调地标记我的链接,同时为我自己保留水下的短文件名?
解决方案/想法/建议/代码都非常受欢迎,并被视为可能的答案,非常感谢。
发布于 2011-03-06 13:03:45
这对于Apache和mod_rewrite
来说是很常见的。有许多方法可以做到这一点-最常见的方法是将所有文件重写为index.php
在.htaccess中:
RewriteRule .* index.php [L]
然后在您的index.php中检查PATH_INFO,并与您的数据库进行比较,以获得相关的真实文件。
这里有几个教程:
http://techie-buzz.com/how-to/create-seo-friendly-urls-using-mod-rewrite-and-php-part-1.html
http://articles.sitepoint.com/article/search-engine-friendly-urls
https://stackoverflow.com/questions/5208737
复制相似问题