Я пытаюсь заставить привязку к моим URL-адресам, но я не могу заставить ее работать так, как я хочу. Это мой файл .htaccess:Силовой трейлинг-косой чертой
RewriteEngine on
#Force trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [L,R=301]
#Subdomains
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteCond $1/%1 !^([^/]+)/\1$
RewriteRule ^/([^/]+)? /%1%{REQUEST_URI} [L]
#Point everything to page.php
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond $1 !^(.*).(php|css|js|png|jpg|gif|htm|html)$
RewriteRule ^(.*)$ page.php?q=$1 [L,NC]
Если я иду в «en.example.com/about» Я перенаправлен на «en.example.com/en/about/», которая является недействительной страницей ,
Как это сделать?
Я еще не очень профессионально относительно mod_rewrite, так что я очень благодарен за ваше время я учусь. Мой браузер говорит мне, что страница была направлена неправильно - это то, что нуль в строке 6 действительно является нулем? – Ivar
@ Иварска: Да, '$ 0' относится к согласованной строке всего шаблона. Но поскольку это не работает, вы должны выполнить некоторую отладку самостоятельно, используя функцию регистрации журнала mod_rewrite (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteloglevel). – Gumbo
Хм, хорошо - почему я спросил, потому что вы написали 1 доллар, когда вы помогли мне в теме о субдоменах. Как ни странно, RewriteLogLevel 9 дает мне код ошибки 500 - также RewriteLogLevel 0. Я поставил это в первую строку, так что это странно. – Ivar