2014-09-04 79 views
0

我正在为我的网站创建搜索引擎优化友好的网址。我有一个notfound.php文件,我将其重定向到所有的URL。现在,我想notfound.php搜索数据库中的URL并生成相应的内容。htaccess重写原始URL

但问题是,它显示的URL是http://some_url/notfound.php 我不希望这个URL显示在地址栏中,而是我想要的是原始的。

例如,

http://some_url/hello/world使用ErrorDocument 404 和notfound.php重定向到http://some_url/notfound.php提供的内容

但如何在网址中显示,而不是notfound.php http://some_url/hello/world?而且,在匹配来自数据库的URL时,这是重定向和重写的正确方法吗?

+0

什么配置在做重定向? – 2014-09-04 20:42:36

+0

另外,如果您没有为明显缺失的网页提供404响应(“/blah/123/blah/234.txt”),我相信这可能会伤害您的排名。 – 2014-09-04 20:43:29

+0

我在我的根文件夹中使用.htaccess文件重定向。 – Forthaction 2014-09-04 20:45:10

回答

0

您必须启用了mod_rewrite,那么你可以尝试:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^notfound.php [L] 

前两行确保你仍然可以加载存在(您可能需要像JS和CSS文件)的事情

+0

这工作,问题解决。谢谢。 – Forthaction 2014-09-04 20:53:19

+0

np,很高兴能帮到您 – Trey 2014-09-04 20:53:41