Server版本限制取決於多個條件:阿帕奇/ 2.4.18(Win32的)的OpenSSL/1.0.2e PHP/7.0.8URL重寫/重定向/使用的.htaccess
我意識到這個問題已經被問過無數時間,而我在零部件的解決方案,我沒有在所有運動部件正常工作的解決方案..
我有4種類型的url
首先...(索引文件重定向)
http://localhost/myproject/index.php - 我希望... http://localhost/myproject
二....(這個解決方案是必需的系統範圍 - 適用於所有.php文件) http://localhost/myproject/views/forgotpassword.php - 我想作爲 http://localhost/myproject/views/forgotpassword
三...(需要此解決方案系統範圍 - 爲所有/視圖/文件) http://localhost/myproject/views/forgotpassword.php - 我想作爲 http://localhost/myproject/forgotpassword
四...(這個解決方案是隻有兩個文件)
http://localhost/myproject/views/propertydetail.php?property_id=4 - 我想作爲 http://localhost/myproject/property/4
我想限制對所有以前的名稱和路徑(我認爲這是不可能的,因爲這樣做會使代碼無法正常工作 - 即沒有這樣做,之後的作品),所以我想重定向將被使用,但如果需要可能的限制......
以下是我綜合.htaccess文件
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
## hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule^%{REQUEST_URI}.php [L]
## hide views folder
RewriteRule ^$ views/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ views/$1
## remove special characters and clean the urls
RewriteRule ^property/([0-9]+) views/propertydetail.php?property_id=$1
RewriteRule ^user/([0-9]+) views/viewprofile.php?profile_id=$1
與此僅第一部分(PHP的隱藏和重定向工作)休息views文件夾清除和字符清理不起作用。我喜歡的解決方案,因爲當時我沒有改變我的代碼的第一部分,一切依舊...
確定你有正確的'RewriteBase'值。暫時留下線路。 – Deadooshka
刪除重寫基地正在myproject/index.php其他地方..也像myproject/views/forgotpassword.php所有舊的鏈接不重定向到myproject /忘記密碼,進一步所有myproject /忘記密碼沒有得到他們的CSS這是存儲在myproject/css/- 這是否意味着我必須通過我的整個代碼,並更改鏈接,不能像它的工作方式.php擴展正在處理內部和外部 – DragonFire
外部重定向意見 - > non-views'RewriteCond%{THE_REQUEST} \ h/views(/ \ S *)RewriteRule ^%1 [R,L]' – Deadooshka