網站運行在我們無法訪問.htaccess
文件的網頁主機上。但是,我想爲用戶友好的URL進行URL重寫。在不使用htaccess的情況下使用PHP進行URL重寫
例如原始地址
www.example.com/file?q=name
預期網址
www.example.com/file/name
網站運行在我們無法訪問.htaccess
文件的網頁主機上。但是,我想爲用戶友好的URL進行URL重寫。在不使用htaccess的情況下使用PHP進行URL重寫
例如原始地址
www.example.com/file?q=name
預期網址
www.example.com/file/name
正如其他人所說,只需使用鏈接如/index.php/nice/looking/url
。
在URL中間可能看起來有點怪「的index.php」,但我不認爲這是可能有它看起來沒有的.htaccess
都好,你可以問你的主機供應商任何重定向指向/index.php的網址,以便您無需在網址中添加/index.php
即可處理網址重寫。
然後,您可以使用正則表達式匹配來檢測包含哪個文件。
preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches)
($比賽將包含陣列中的全部網址的「部件」)
小心,包括文件,使用白名單所以你一定沒有人能夠加載內部文件。
檢查這個帖子鏈接你的CSS,HTTP://什麼-在線。 info/science-and-tutorials/104/how-to-writing-PHP-SEO-friendly-URLs-without-htaccess /將使用HTACCESS文件巧妙地解決你的URL重寫 – 2017-01-13 08:17:14
你最好的選擇將是有網址,像這樣的:
www.example.com/index.php/file/name
你會來,雖然重寫PHP代碼。
爲阿利克斯阿克塞爾建議您可以使用
www.example.com/index.php/file/name
則可以使用$_SERVER['REQUEST_URI']
處理URL。
在這種情況下,最好使用'$ _SERVER ['PATH_INFO']'而不是'$ _SERVER ['REQUEST_URI']'。 – 2010-01-24 11:34:46
此解決方法看起來不錯。一個問題,當我使用www.domain-name.com/index.php/filename它看起來像當前目錄更改 和所有css格式化丟失和相對導航也無法正常工作。 有什麼建議。您的每一個文件的參考 – Vivart 2010-01-24 12:12:17
添加/基本參考像 ''也 使用基本參考'SRC = 「/媒體/ css.css」' – Pentium10 2010-01-24 12:37:56
如果你有一個Apache服務器,並且啓用了AcceptPathInfo,那麼你可以使用你寫的URL。如果/file
是常規文件,則/file/name
的請求將被自動重寫爲/file
,PATH_INFO值/name
。
試試這個
www.example.com/file?q=name
到
www.example.com/name
(優於www.example.com/file/name
)
從項目的根文件夾打開.htaccess
並添加以下代碼
Options +FollowSymLinks
RewriteEngine On
RewriteRule \.(js|css|jpe?g|png|gif)$ - [L]
RewriteRule "^([ \w-]+)/?$" /file?q=$1 [L,QSA]
這解決了您的問題。看帖子如何rewrite URL in .htaccess
只是舉例 website.user的文章部分提交了一篇文章,並且生成了像www.domain-name/articles?cat = 3&id = 34這樣的動態url,但是我想要這個www。domain-name/articles/cat-name/article-name – Vivart 2010-01-24 11:29:26