即使搞清楚如何編寫谷歌搜索來解決這個問題,我也很難。根據網址提取數據庫中的數據(又名DIGG)
如果你點擊了在Digg故事卻讓這一切像digg.com/news/science/why_the_world_is_tilted
的URL,而不是digg.com/reader.php?r=news&s=science&t=why_the_world_is_tilted
我敢肯定,他們沒有幾百萬的子文件夾,並且我記得讀一些4年之前解釋了它是如何工作的,但我不記得再次查看它。
即使搞清楚如何編寫谷歌搜索來解決這個問題,我也很難。根據網址提取數據庫中的數據(又名DIGG)
如果你點擊了在Digg故事卻讓這一切像digg.com/news/science/why_the_world_is_tilted
的URL,而不是digg.com/reader.php?r=news&s=science&t=why_the_world_is_tilted
我敢肯定,他們沒有幾百萬的子文件夾,並且我記得讀一些4年之前解釋了它是如何工作的,但我不記得再次查看它。
如果你的服務器運行的是Apache和mod_rewrite的安裝,你可以創建一個名爲的.htaccess包含此文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
這將路徑發送到請求的index.php在var $ _GET [」 q']。 如果路徑是一個現有的文件或目錄,它不會發送到index.php的路徑。
如果您使用的是Apache,則可以使用mod_rewrite來完成此操作。我不是這方面的專家,但是如果你搜索一些mod_rewrite教程,你可以找到一些例子,其中漂亮的URL在Web服務器上不可見地轉換爲不同的查詢字符串。
有兩種基本方法是:
例如,在Catalyst你可以寫:
package My::Application::Controller::News;
# …
# :Path without an argument means the root for the controller.
# The controller is news so: /news/
# :Args(2) means with two arguments
sub article :Path :Args(2) {
my ($self, $c, $category, $article_name) = @_;
# …
}
而且$category
將填充"science" and
$ ARTICLE_NAME with
「why_the_world_is_tilted」`
你說什麼是clean url's。這種模式通常用於MVC架構。