dro7152 2014-09-04 20:41
浏览 42
已采纳

htaccess重写原始URL

I am creating SEO friendly URLs for my website. I have a file notfound.php to which I am redirecting all the URLs. Now, I want notfound.php to search for the URL in database and generate the corresponding content.

But the problem is that in the URL it shows is http://some_url/notfound.php I don't want this URL to be displayed in the address bar, instead I want the original one.

For example,

http://some_url/hello/world is redirecting to http://some_url/notfound.php using ErrorDocument 404 and notfound.php is serving the content

But how to show http://some_url/hello/world in the URL instead of notfound.php? And, is this the right way to redirect and rewrite while matching the URLs from a database?

  • 写回答

2条回答 默认 最新

  • douyalin2258 2014-09-04 20:46
    关注

    you must have mod_rewrite enabled, then you can try:

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

    the first two lines ensure that you can still load things that exist (like js and css files that you may need)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?