2015-01-01 30 views
1

因此,這是目前我的.htaccess文件:的Apache的mod_rewrite加載

AddHandler application/x-httpd-php .php .ru 
DirectoryIndex tsuki.ru index.html 

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase /tsuki/ 

RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^- [L] 

# Rule to display data via ID 
RewriteRule ^([^/]+)/([0-9]+)/?$ tsuki.ru?uri=$1&id=$2 [QSA,L] 

# Display actions from controller 
RewriteRule ^([^/]+)/([^/]+)/?$ tsuki.ru?uri=$1&action=$2 [QSA,L] 

# Display specific ID for edit 
RewriteRule ^([^/]+)/edit/([0-9]+)$ tsuki.ru?uri=$1&action=edit&id=$2 [QSA,L] 

# Destroy specific ID 
RewriteRule ^([^/]+)/destroy/([0-9]+)$ tsuki.ru?uri=$1&action=destroy&id=$2 [QSA,L] 

# Display controller only 
RewriteRule ^(.*)$ tsuki.ru?uri=$1 [QSA,L] 

當我刪除這些重寫規則,圖像和其他資產裝入細(JS,CSS等)。我如何調整我的重寫,以便可以使用相對路徑加載資源?

回答

1

你的兩個RewriteCond只適用於下一個規則。
這意味着你所有的資產都可能與此規則改寫

RewriteRule ^(.*)$ tsuki.ru?uri=$1 [QSA,L] 

你可以重構你的代碼這樣

AddHandler application/x-httpd-php .php .ru 
DirectoryIndex tsuki.ru index.html 

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase /tsuki/ 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

# Rule to display data via ID 
RewriteRule ^([^/]+)/([0-9]+)/?$ tsuki.ru?uri=$1&id=$2 [QSA,L] 

# Display actions from controller 
RewriteRule ^([^/]+)/([^/]+)/?$ tsuki.ru?uri=$1&action=$2 [QSA,L] 

# Display specific ID for edit 
RewriteRule ^([^/]+)/edit/([0-9]+)$ tsuki.ru?uri=$1&action=edit&id=$2 [QSA,L] 

# Destroy specific ID 
RewriteRule ^([^/]+)/destroy/([0-9]+)$ tsuki.ru?uri=$1&action=destroy&id=$2 [QSA,L] 

# Display controller only 
RewriteRule ^(.*)$ tsuki.ru?uri=$1 [QSA,L] 

注意:不要忘記使用絕對路徑,而不是相對所有資源的路徑(圖像,js,css,href鏈接等)