我有一個主頁爲/var/www/mysite/index.html
的網站現在我想直接www.mysite.com/x2312d
到/var/www/mysite/app/pass.php?id=x2312d
我該怎麼做? 我應該在哪裏創建.htaccess
文件以及它應該包含哪些內容?Apache 2中的URL縮短
回答
/var/www
的.htaccess
RewriteEngine On
RewriteBase/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ /app/pass.php?id=$1 [NC,L]
嗨,我做到了這一點,它給了404.我的網站,可用/默認的文檔根目錄是/ var/www。那是問題嗎? – user557348 2011-05-24 07:58:04
現在工作謝謝:) – user557348 2011-05-24 08:07:34
np,modrewrite起初可能會很複雜,請查看:http://corz.org/serv/tricks/htaccess2.php關於用通俗寫法重寫大多數東西的方法 – 2011-05-24 08:13:06
把.htaccess文件在/ var/WWW/mysite的/應用/。我假設你的文檔根目錄是/ var/WWW/mysite的/
確保Apache 2的有重寫模塊啓用
的.htaccess:
RewriteEngine On
#allows you to still access static items in this dir
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g)$
#sent it all to pass script
RewriteRule (.*)$ pass.php [L]
我喜歡這種方法,假設通過一些控制器。我的一個rest api控制器從$ _SERVER全局變量中手動解析/ x23123d,但是你可以使用一個不同的重寫器來使它位於$ _GET/$ _ REQUEST ['id']全局變量中。
是這樣的:
RewriteRule ^app/(.+)$ app/pass.php?id=$1 [PT,L,QSA]
很好的參考:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule
編輯:差點忘了,別忘了辦理尾隨斜線了。
- 1. 縮短地址欄中縮短的URL
- 2. URL縮短網站
- 3. 縮短URL
- 4. PHP使URL縮短
- 5. 縮短S3簽名的URL
- 6. 刪除git.io縮短的URL
- 7. 關於Apache的重寫功能,縮短URL
- 8. 在python中的URL驗證和縮短
- 9. 在.htaccess文件中的mod_rewrite縮短URL
- 10. 使用谷歌URL縮短
- 11. URL屬性參數縮短
- 12. 如何縮短url長度?
- 13. 使用URL縮短服務
- 14. URL縮短問題(Symfony)
- 15. PHP URL縮短算法
- 16. 谷歌URL縮短API -
- 17. 在JavaScript中實現URL縮短邏輯
- 18. 使用PHP的Google URL縮短API
- 19. htaccess的重寫規則,縮短的URL
- 20. MVC 2 - URL縮短/路由(地圖路線)
- 21. 自動縮短JS的URL或者Rails
- 22. 如何查找URL縮短的日期
- 23. URL縮短:這是如何實現的?
- 24. NoSQL數據庫的URL縮短?
- 25. 改進VB.NET URL縮短器的建議?
- 26. 沒有數據庫的URL縮短器
- 27. 請幫助jQuery的URL bit.ly縮短
- 28. 的網址縮短
- 29. 谷歌URL縮短API與wp_remote_post
- 30. 縮短URL值作爲JavaScript變量
嘿看看這些。 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html http://forum.modrewrite.com/viewtopic.php?f=4&t=3102他們應該讓你開始。現在去學習。如果你有一個特定的問題回來。 – martynthewolf 2011-05-24 07:36:07
@martswite這是一個特定的問題,它被問過幾十億次 – 2011-05-24 07:40:46
@勞倫斯Cherone我不會說它是_specific_,這個問題在重寫方面非常一般。也沒有關於OP已經嘗試/調查的證據。現在,如果他說,我已經做了1,2,3,而上面的錯誤是不成立的,那麼這就是_specific_。現在,這是一個「給我teh codez」的問題:-P – martynthewolf 2011-05-24 07:45:11