2017-06-03 91 views
0

的網址我想使用URL重寫我的.htaccess重定向我不漂亮網址:Transfert與參數成爲一個漂亮的URL與htaccess的

http://example.com/_new/url.php?module=planning&action=see&id=2

這一個:

http://example.com/_new/url/planning/see/2

所以我用:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ url.php?module=$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)$ url.php?module=$1&action=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ url.php?module=$1&action=$2&id=$3 [L] 

但它不起作用。

請幫忙嗎?

謝謝。

回答

0

對於這個特定的URL重寫,你可能需要更換您的[重寫規則]對這樣的事情:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^_new/url/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ _new/url.php?module=$1&action=$2&id=$3 [NC,L]

從中你可以訪問:http://example.com/_new/url.php?module=planning&action=see&id=2

http://example.com/_new/url/ {module_name} = http://example.com/_new/url.php?module= {module_name}

這同樣適用於$ 2 ,也是3美元。

[NC] =不區分大小寫:這個標誌告訴apache會有[任何情況下]

[L] =如果這個規則已經被處理,首先,沒有額外的規則將在當前被添加URL重寫過程

您可以瞭解更多關於此:https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

希望這有助於。

+0

你好,我有這個錯誤:'請求的URL /_new/url/planning/see/2.php在這個服務器上找不到.' –

+0

你現在解決了你的問題嗎? – eeya