[英]codeigniter rewriting of URLS not working
過去,我的工作完全沒有問題,但是由於某種原因,在新服務器上我無法正常工作。
我的應用程序的根目錄中有以下.htaccess文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
我還啟用了mod_rewrite並已通過php_info()確認了這一點
我的網站位於/ var / www / html / test
盡管啟用了mod_rewrite,但它是否可能無法工作?如果可以,我如何對其進行測試?
在某些服務器實現中,您需要將其包裝在<IfModule>
標記內。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
還要檢查您的httpd.conf文件,以確保它具有:
Options FollowSymLinks
AllowOverride All
確保.htaccess
文件沒有被另一個.htaccess
文件覆蓋也值得檢查。
只需將以下內容放入.htaccess
文件中:
deny from All
這就是拒絕所有人訪問您的網站。 如果您在嘗試訪問該站點時出現403禁止訪問-則包含.htaccess
文件。 如果不是,請參閱上文。
我在我的codeigniter設置上使用它
RewriteEngine on
# prevent these directories from hitting CI
RewriteCond $1 !^(index\.php|images|assets|robots\.txt|crossdomain\.xml)
# route everything else to the index.php
RewriteRule ^/(.*)$ /index.php/$1 [QSA]
(我的設置是在.conf的虛擬主機中完成的,而不是在.htaccess中完成的,盡管它們通常是相同的配置)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.