簡體   English   中英

網址重寫index.php

[英]url rewriting index.php

我有類似的網址

http://mysite.com/index.php?p=resources
http://mysite.com/index.php?p=resources&s=view&id=938

但是我想要像這樣的網址

http://mysite.com/resources
http://mysite.com/resources/view/938

而不是制定數百個重寫規則,我想知道是否可能只有一個? 我可能通過“獲取uri並將其拆分為多個部分”,然后為index.php添加重寫規則來實現

但是如何? 有人可以舉一個例子或鏈接教程嗎

我碰巧在.htaccess中使用了它:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule .* index.php [L]

無論請求什么,這實際上都將調用index.php。 然后,在您的PHP代碼中,您可以查看$ _SERVER ['REQUEST_URI']以獲取URL並進行相應的解析。

RewriteCond行用於排除對文件的直接調用。 就我而言,出於性能原因,我不希望對js / css / image文件的請求之類的內容通過index.php。

創建一個.htaccess文件。 不是somefilename.htaccess,它只是簡單地命名為.htaccess。
注意:您的index.php和.htaccess文件應位於同一目錄中。

現在在您的.htaccess文件上嘗試

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^([A-Za-z0-9\\-]+)$ index.php?p=resources
RewriteRule ^([A-Za-z0-9\\-]+)/([A-Za-z0-9\\-]+)/([0-9]+)$ index.php?p=resources&s=view&id=938
</IfModule>

在此處查看有關url重寫的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM