2016-08-10 3 views
1
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$ 
RewriteCond %{REQUEST_URI} !^/app.php$ 
RewriteCond %{REQUEST_URI} !^/app.php/ 
RewriteRule ^(.*)$ app.php/$1?%{QUERY_STRING} [L] 

OK, поэтому мне удалось создать хороший набор правил .htaccess. Он направляет весь трафик, за исключением изображений, html, js и css, в php-файл под названием app.php.apache mod-rewrite, чтобы не включать домен верхнего уровня

Единственное, с этим на месте, оно также направляет домен верхнего уровня с или без конечной косой черты в app.php.

Как я могу добавить домен верхнего уровня в этот набор правил?

ответ

1

Если вы хотите, чтобы избежать целевой страницы переадресации используйте:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$ 
RewriteCond %{REQUEST_URI} !^/app\.php(/.*)?$ [NC] 
RewriteRule ^(.+)$ app.php/$1 [L] 

.+ будет соответствовать ничего, но не на целевую страницу.

В случае, если вы хотите, чтобы исключить все URLS домена верхнего уровня, то используйте:

RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$ 
RewriteCond %{REQUEST_URI} !^/app\.php(/.*)?$ [NC] 
RewriteRule ^(.*)$ app.php/$1 [L]