[英]Mod Re-Write Struggling With Rule Not Working
因此,經過大量測試 - 我已經開始找出我的問題,但仍然無法讓重寫工作。
這就是我的 htaccess 文件現在的樣子。
RewriteEngine On
RewriteRule ^schemdetail/id/(.*)$ schematicdetails?id=$1 [L,NC]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://abfielder.com/$1 [R=301,L]
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
規則 1 是我遇到的問題
RewriteRule ^schemdetail/id/(.*)$ schematicdetails?id=$1 [L,NC]
我現在的理解是,如果我在瀏覽器中輸入這個 url
https://abfielder.com/schemdetail/id/158
我應該得到
https://abfielder.com/schematicdetails?id=158
這里的測試
https://htaccess.madewithlove.com/
告訴我我的規則沒問題。
規則 2 和 3 運行良好。
但是,當我嘗試訪問時
https://abfielder.com/schemdetail/id/158
我基本上得到了找不到頁面的錯誤。
好的,我想我終於為其他遇到 mod 重寫問題的人解決了這個問題,他們希望有一個規則來刪除文件擴展名和其他重寫一起工作的順序很重要。 最后,如果您使用的是共享主機類型的東西,您可能還需要設置重寫基礎。 這就是我的 htaccess 文件現在的樣子。
RewriteEngine On
RewriteBase /
RewriteRule ^schemdetail/id/(.*)$ schematicdetails?id=$1 [L,NC]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://abfielder.com/$1 [R=301,L]
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
這使我可以擁有沒有 .php 擴展名的 url。
它還允許
schemdetail/id/100 被翻譯成schematicdetails?id=100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.