2014-09-29 72 views
1

我有這樣的改寫條件 我用它來抓取蛞蝓網址和搜索博客帖子是這樣的:添加斜線段塞網址

http://localhost:8080/blog/my-first-post 

所以我抓住了塞,然後尋找職位並顯示它。 眼下接受本兩種形式

http://localhost:8080/blog/my-first-post 
http://localhost:8080/blog/my-first-post/ 

我應該如何改變的.htaccess所以它總是添加或在最後的斜線重定向。

我應該如何改變它以刪除斜槓?

這裏是的.htaccess我現在有我有它在博客目錄:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

回答

1

您可以通過這一個

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /blog/ 

    # add trailing slash 
    RewriteCond %{REQUEST_URI} !/$ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ $1/ [R=301,L] 

    # remove trailing slash 
    #RewriteCond %{REQUEST_FILENAME} !-d 
    #RewriteRule ^(.+?)/$ $1 [R=301,L] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

眼下替換當前htaccess的代碼,它增加了尾隨斜線。如果你想刪除它,評論add trailing slash塊線和取消註釋remove trailing slash塊線

+0

謝謝,但它需要我的目錄了 從http://本地主機:8080 /博客/我先交至 http:// localhost:8080/my-first-post/ 也許我不是特定的。 你也可以給我一個簡短的解釋或讓我可以開始學習這個嗎?謝謝! – 2014-09-29 10:24:11

+0

對不起,我完全錯過了你的htaccess在'blog'文件夾中。你可以嘗試我編輯的答案。您必須在再次嘗試之前清除瀏覽器的緩存,因爲舊規則(不含'blog')現在處於緩存中。如果你想學習'mod_rewrite',最好的辦法就是在這裏查看Apache官方文檔http://httpd.apache.org/docs/current/en/mod/mod_rewrite.html – 2014-09-29 10:27:20

+0

! :D 現在它將我重定向到'http:// localhost:8080/blog/index.php /?url = my-first-post /'我在博客目錄中有.htaccess 我打算讓博客進入這就是爲什麼一個頁面上的子目錄。 – 2014-09-29 10:38:47