Как разрешить добавочный URL для поддоменов на локальном хосте?

0

Я установил субдомен m.localhost с помощью vhost. m.locahost указывает на htdocs/m/папку

Я хочу, чтобы m.localhost/page и m.localhost/page.php работали и отображались как m.localhost/page. На моем производственном сайте у меня есть что-то подобное в моем файле.htaccess, и он работает нормально:

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]    

RewriteCond %{HTTP_HOST} ^m\.mysite\.com$ [NC]
RewriteRule ^((?!m/).*)$ m/$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

Я использую подобный метод на localhost, но он не работает. Меня направили на локальный хост (не м.). Но если я удалю файлы.htaccess, файлы.php работают нормально.

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]

RewriteCond %{HTTP_HOST} ^m\.localhost$ [NC]
RewriteRule ^((?!m/).*)$ m/$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

Как я могу заставить его вести себя так же, как мой сайт? Большое спасибо!

Теги:
.htaccess
localhost
url-rewriting

1 ответ

0
Лучший ответ

Я, наконец, добавил AllowOverride All в настройки AllowOverride All, после этого все прошло хорошо.

<VirtualHost *:80>
    ServerName m.localhost
    DocumentRoot "C:/xampp/htdocs/m/"   
    <Directory "C:/xampp/htdocs/m">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню