我有放置在一个索引页/forum/section1/.
我有一个规则,当我浏览到自动重定向到索引页面exampledomain.com/forum/section1/
。 有时,当我忘记了斜线,它使负载和永不熄灭的索引页。 我已经加入了一条附加一个斜线到每一个请求:
RewriteEngine on
#From http://enarion.net/web/htaccess/trailing-slash/
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
# Don't apply to images/css/js/ajax files
RewriteCond %{REQUEST_URI} !^.*\.(jpg|jpe?g|ico|css|js|gif|png|php)$ [NC]
RewriteRule ^(.*)$ http://exampledomain.com/$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^.*\.(jpg|jpe?g|ico|css|js|gif|png)$ [NC]
#Remove php extension
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^([^\.]+)$ $1.php [NC,L]
这些规则工作,但所有的相对路径变得无效。 例如,我有索引页面上的表单:
`<form action='index' method='POST'></form>`
而不是访问的exampledomain/forum/section1/index/
,它会重定向到exampledomain/forum/section1/index/index
。 我知道改变为绝对路径相对路径会解决这个问题,但有一种方式来解决与重写规则?