我目前正在嘗試編寫重寫規則。我想簡化輸入的URL,以便它始終使用索引。輸入的網址是www.example.com/home.php
,將被重寫爲www.example.com/index.php?r=page/home
。.htaccess將php重寫爲php文件
我寫這.htaccess
文件:
RewriteEngine On
RewriteRule ^([^/]*)\.php$ /index.php?r=page/$1 [L]
此配置不幸的是給我一個錯誤500。我可以理解,它是由事實,如果我進入index.php
例如,Apache將不知道,如果它造成的必須使用index.php
文件或使用重寫的網址index.php?r=page/index
。
是否有可能用apache完成這種重寫規則?如果是這樣,我該如何解決我的錯誤500?
編輯:請注意,重寫規則工作正常,如果我改變擴展.php
到別的如.html
,像這樣:RewriteRule ^([^/]*)\.html$ /index.php?r=page/$1 [L]
錯誤500並不意味着你的重寫規則是錯誤的或朝着頁面點它不存在。這意味着您的文件語法錯誤(我沒有看到)或您的配置。你的.htaccess文件還有其他的東西嗎? mod_rewrite是否正確安裝? –
我試着將重寫規則改爲:「RewriteRule ^([^ /] *)\ .pr $ /index.php?r=page/$1 [L]」,當我嘗試訪問www.domain時,它工作正常。 com/home.pr ...所以這是導致錯誤的「.php」。 – Philibobby